6
如果我設置textLayer.wrapped = YES
,如何調整textLayer
以包含包裝文本?即,如何獲得textLayer
的新高度?CATextLayer包裹sizeToFit?
基本上,我想要類似-[UILabel sizeToFit]
。
如果我設置textLayer.wrapped = YES
,如何調整textLayer
以包含包裝文本?即,如何獲得textLayer
的新高度?CATextLayer包裹sizeToFit?
基本上,我想要類似-[UILabel sizeToFit]
。
您需要做的第一件事就是獲取文本的大小。
幸運的是,NSString UIKit Additions Reference提供了一個方法來做到這點:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
這會給你一個CGSize
,你就可以使用設置你的UILabel
或任何子類的UIView
那你的框架使用。
因此,假設textLayer
是UILabel
- 而不是CALayer
- 你會擁有這樣的:
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;
的問題是對的CALayer。 –
想知道關於太.. – Nils