ma1*_*w28 8 core-animation uilabel core-text sizetofit catextlayer
如果我设置textLayer.wrapped = YES,如何调整大小textLayer以包含包装的文本?即,我如何获得新的高度textLayer?
基本上,我想要类似的东西-[UILabel sizeToFit].
您需要做的第一件事是获取文本的大小。
值得庆幸的是,NSString UIKit Additions Reference提供了一种方法来做到这一点:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个CGSize,然后您可以使用它来设置您的框架UILabel或任何子类的框架UIView。
所以,假设textLayer是 a UILabel- 而不是 a 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1868 次 |
| 最近记录: |