UITextView'da bir çizginin yüksekliği nasıl alınır?
Yukarıdaki diyagramda gösterildiği gibi ... lineHeight
, turuncu kutunun yüksekliğidir. Mavi kutunun yüksekliğini nasıl alabilirim (örn. Xzx30 + satır aralığı yüksekliği)? Teşekkürler!
GÜNCELLEME: lineHeight
'in farklı davranmasının içeriğindeki karakterlere bağlı olduğunu buldum. İçeriğin tamamı ingilizce ise, lineHeight (21, örneğin, varsayılan UITextView'da), (örneğin, 21). Ancak, içerik Çince karakterlerle karıştırıldığında, lineHeight
hala 21 olarak belirtilirken self.textView.contentSize.height
farklı şekilde artar:
English - adding 21 points for each line
Chinese - adding 24 points for each line
UPDATE (sizeWithFont:
)
CGSize constrainedRect = CGSizeMake(1000, 1000);
CGSize rectEnglish = [@"hello\nworld" sizeWithFont:self.textView.font constrainedToSize:constrainedRect lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"width: %.2f height: %.2f", rectEnglish.width, rectEnglish.height);
CGSize rectChinese = [@"你\n好嗎" sizeWithFont:self.textView.font constrainedToSize:constrainedRect lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"width: %.2f height: %.2f", rectChinese.width, rectChinese.height);
çıkış:
width: 41.00 height: 42.00
width: 34.00 height: 42.00
"UIFont.lineHeight" yalnızca iOS4.0 + olduğunu unutmayın. –
Bu salt okunur özellik – Puran
benim için çalışıyor !! – slboat