首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sizeWithFont:替换

sizeWithFont:替换
EN

Stack Overflow用户
提问于 2013-09-30 10:09:56
回答 2查看 832关注 0票数 0

以下NSString方法已在iOS 7中被废弃:

代码语言:javascript
复制
    - (CGSize)sizeWithFont:(UIFont *)font NS_DEPRECATED_IOS(2_0, 7_0, "Use -sizeWithAttributes:");

    - (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:
(NSLineBreakMode)lineBreakMode NS_DEPRECATED_IOS(2_0, 7_0, "Use -boundingRectWithSize:options:attributes:context:");

    - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size NS_DEPRECATED_IOS(2_0, 7_0, "Use -boundingRectWithSize:options:attributes:context:");

    - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode NS_DEPRECATED_IOS(2_0, 7_0, "Use -boundingRectWithSize:options:attributes:context:"); 

虽然第一种的替代方法很简单,但其他的就不那么简单了。要获得完全相同的结果,对boundingRectWithSize:options:attributes:context:的等效调用是什么?

特别是:

  • options的价值应该是什么?
  • 如何指定lineBreakMode
EN

回答 2

Stack Overflow用户

发布于 2014-02-03 10:25:29

.How,您指定了lineBreakMode吗?

代码语言:javascript
复制
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
[attributedStr addAttribute:NSParagraphStyleAttributeName
                 value:paragraphStyle
                 range:NSMakeRange(0,[attributedStr length])];
票数 1
EN

Stack Overflow用户

发布于 2014-07-17 12:52:16

加上这个

代码语言:javascript
复制
UIFont *font = [UIFont boldSystemFontOfSize:16];
CGRect new = [string boundingRectWithSize:CGSizeMake(200, 300) options:NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName: font} context:nil];
CGSize stringSize= new.size;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19091546

复制
相关文章

相似问题

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