首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CATextLayer包装了sizeToFit?

CATextLayer包装了sizeToFit?
EN

Stack Overflow用户
提问于 2011-11-22 06:44:03
回答 1查看 2.1K关注 0票数 8

如果我设置了textLayer.wrapped = YES,如何调整textLayer的大小以包含换行文本?也就是说,如何获得textLayer的新高度

基本上,我想要像-[UILabel sizeToFit]这样的东西。

EN

回答 1

Stack Overflow用户

发布于 2012-01-31 02:21:22

您需要做的第一件事是获取文本的大小。

值得庆幸的是,NSString UIKit Additions Reference提供了一种方法来实现这一点:

代码语言:javascript
复制
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode

这将为您提供一个CGSize,然后您可以使用它来设置您的UILabel或您正在使用的UIView的任何子类的框架。

因此,假设textLayer是一个UILabel --而不是CALayer --你最终会得到这样的结果:

代码语言:javascript
复制
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;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8219588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档