İşte o yapmanın iki yolu vardır ...
1.
İlk 0'a
numberOfLines
kurmak ve daha sonra
contentSize
ile
UILabel
böylece
UILabel
ekran arasında
sizeToFit
özelliğini kullanın.
yourLabel.numberOfLines = 0;
[yourLabel sizeToFit];
bu bağlantıdan fazla bilgi bakınız: Vertically align text within a UILabel
2. Diğer bir seçenek ise yerine UILabel
ait UITextField
alıp aşağıda gibi NO
için userInteractionEnabled
ayarlamak için ...
[yourTextField setUserInteractionEnabled:NO];
ve daha sonra aşağıdaki gibi aşağıya contentVerticalAlignment
özelliğini ayarlayın.
[yourTextField setContentVerticalAlignment:UIControlContentVerticalAlignmentBottom];
GÜNCELLEME Ayrıca
, UITextField
ile, birden fazla çizgiler elde edilemez. Bunun yerine UITextView
kullanabilir ve userInteractionEnabled
değerini NO
olarak ayarlayabiliriz. Ardından, alt hizalanmış hale getirmek için aşağıdaki kodu kullanın.
CGFloat topCorrect = ([label bounds].size.height - [label contentSize].height);
topCorrect = (topCorrect <0.0 ? 0.0 : topCorrect);
label.contentOffset = (CGPoint){.x = 0, .y = -topCorrect};
Zaten ilk çözümü denedim. Ama düzgün çalışmıyor. Her zaman üstte ve solda hizalanmış. Ama her zaman altta ve merkezde hizalanmalıdır. Ama ikinci çözüm çalışıyor gibi görünüyor. ikinci çözümde çoklu çizgi ne olacak? Mümkün olacak mı? – NSUserDefault
bu çerçeveyi 3 satır ile 'CGRectMake (10,100,100,300)' varsayalım, o zaman sadece bir satır alırsanız o zaman 'CGRectMake (10,260,100,300)' gibi bir çerçeve ayarla, burada mantıkla bazı özel kodlar ayarla ** aksi takdirde ikinci seçenek en iyisi :) –
Ya ikinci en iyisi. Denemeye ve bilmeye izin vereceğim. – NSUserDefault