CATextLayer 包裹了 sizeToFit?

2024-04-09

如果我设置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(使用前将#替换为@)

CATextLayer 包裹了 sizeToFit? 的相关文章

随机推荐