从 sizewithFont:constrainedToSize:lineBreakMode: 过渡到 iOS 7 的行为不符合预期

Posted

技术标签:

【中文标题】从 sizewithFont:constrainedToSize:lineBreakMode: 过渡到 iOS 7 的行为不符合预期【英文标题】:Transition from sizewithFont:constrainedToSize:lineBreakMode: for iOS 7 not behaving as expected 【发布时间】:2013-12-28 02:17:41 【问题描述】:

我正在尝试摆脱 ios 7 中已弃用的功能,并且我正在运行一些我不理解的东西。这是我现在拥有的代码:

CGFloat titleHeight = [[object name] sizeWithFont:[UIFont fontWithName:@"Abel" size:24.0f] constrainedToSize:CGSizeMake(170.0f, 200.0f) lineBreakMode:NSLineBreakByWordWrapping].height;
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
CGFloat titleHeight2 = [[object name] boundingRectWithSize:CGSizeMake(170.0f, 200.0f) options:0 attributes:@NSFontAttributeName: [UIFont fontWithName:@"Abel" size:24.0f], NSParagraphStyleAttributeName: paragraphStyle  context:nil].size.height;

由于某种原因,titleHeighttitleHeight2 最终成为不同的值,我不知道为什么。有任何想法吗?谢谢!

【问题讨论】:

【参考方案1】:

文档says:

要正确绘制多行文本并调整其大小,请通过 NSStringDrawingUsesLineFragmentOrigin 在 options 参数中。

你试过了吗?

【讨论】:

我在文档中错过了!谢谢!一旦允许我就会接受 不,我在行尾有 .size.height。 另外,也不需要 NSMutableParagraphStyle,该选项解决了问题。 @Mason,明白了。我的错。

以上是关于从 sizewithFont:constrainedToSize:lineBreakMode: 过渡到 iOS 7 的行为不符合预期的主要内容,如果未能解决你的问题,请参考以下文章

从PRISM开始学WPFMVVMViewModel?

在 python 中,为啥从数组读取比从列表读取慢?

从图库中挑选或从相机捕获的高质量图像

从PRISM开始学WPFMVVMCommand?

从PRISM开始学WPFPrism?

mysql 主-主-从-从