2011-06-14 15 views
5

Birden çok satıra sahip bir etiketim var. Etiket üzerindeki metnin her zaman, etiket satırlarının boyundan ve çizgi sırasından bağımsız olarak sol üst köşeden başlamasını istiyorum.Etiket Birden çok satıra sahip metin hizalama

Şimdi ben bir mülk

[question1Label setContentMode: UIViewContentModeTopLeft]; 

kullanıyorum Ama onun ben contentMode mülkiyet UILabelonun metni en etkilemez fark ettik

Teşekkür

cevap

6

çalışmıyor hizalaması. textAlignment özelliğini kullanın.

label.textAlignment = UITextAlignmentLeft; 

Düzenleme: Bu metin Merkezi-Sol uyumlu hale getirecektir. Metni Top-Left'dan göstermek için, NSString numaralı sizeWithFont: yöntemini kullanarak metnin yüksekliğini bulmanız gerekir. Nasıl yapılacağını öğrenmek için See this SO post. UIControl encontentVerticalAlignment özelliğini miras sen UITextField kullanabilirsiniz alternatif, UIControl ait alt sınıf olarak

.

textField.contentVerticalAlignment = UIControlContentVerticalAlignmentTop; 

Metni en üste hizalamak için bu özelliği kullanabilirsiniz. Kullanıcıyı, metni düzenlemek için userInteractionEnabled özelliğini kullanarak devre dışı bırakabilirsiniz.

+1

Bu özelliği kullanıyorum ancak metni yalnızca soldan hizaladım ama metnimi en baştan başlatmak istiyorum. – Rachit

+0

@Rachit Taneja, Güncellenmiş cevabımı görün – EmptyStack

0

UITextAlignmentLeft kullanımdan kaldırıldıkça kabul edilen yanıt benim için artık işe yaramıyor.

Aşağıdakiler harika çalışıyor!

// Allow multiline label centered 
[label setNumberOfLines:0]; 
[label setTextAlignment:NSTextAlignmentCenter];