2011-02-18 11 views
14

enter image description hereUITextView'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 

cevap

12

ürününü kullanmalısınız.
+1

"UIFont.lineHeight" yalnızca iOS4.0 + olduğunu unutmayın. –

+1

Bu salt okunur özellik – Puran

+0

benim için çalışıyor !! – slboat

0

NSStringUIKit additions'u kullanmayı deneyin. İhtiyacınız olan şey -sizeWithFont:'un bazı çeşitleri olmalıdır.

+0

Görünüşe göre bana -sizeWithFont' da dil sorununu görmezden geliyor ('-sizeWithFont' ile ilgili GÜNCELLEŞTİRME 'konusuna bakın) – ohho

+0

Çizilecek olan metni kullanamaz mısınız? –

İlgili konular