2011-11-21 11 views
6

textLayer.wrapped = YES'u ayarlıyorum, sarılmış metni içermek için textLayer'u nasıl yeniden boyutlandırırım? I.e, textLayer'un yeni yüksekliğini nasıl alabilirim?CATextLayer sarılmış boyutToFit?

Temel olarak, -[UILabel sizeToFit] gibi bir şey istiyorum.

+0

bunu merak ediyordum çok .. – Nils

cevap

2

Yapmanız gereken ilk şey metnin boyutunu elde etmektir.

Neyse ki, NSString UIKit Additions Reference tam olarak yapmak için bir yöntem sunmaktadır:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode 

size o zaman sen UIView sizin UILabel ya da her türlü alt sınıfının çerçevesini ayarlamak için kullanabileceğiniz bir CGSize versin kullanarak.

Yani, textLayer varsayarak bir UILabel olduğunu - ziyade CALayer - böyle bir şey ile son edeceğiz:

UIFont *myFont = [UIFont boldSystemFontOfSize:12.0f]; 
CGSize myFontSize = [myString sizeWithFont:myFont]; 
myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, myFontSize.width, myFontSize.height)]; 
myLabel.text = newTitle; 
myLabel.font = myFont; 
+1

soru CALayer içindir. –

İlgili konular