如果我设置textLayer.wrapped = YES
,如何调整大小textLayer
包含换行文本?即,我如何获得新的高度textLayer
?
基本上,我想要类似的东西-[UILabel sizeToFit]
.
您需要做的第一件事是获取文本的大小。
值得庆幸的是,NSString UIKit 添加参考 http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html提供了一种方法来做到这一点:
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
这会给你一个CGSize
然后你可以用它来设置你的框架UILabel
或任何子类UIView
你正在使用的。
所以,假设textLayer
is a 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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)