最近使用 XCode 5 将我的应用程序更新到 iOS 7,发现 boundingRectWithSize 给出了不同的高度(在大小部分)计算属性字符串的边界。
以下行在 iOS 6 和 iOS 7 之间给出了不同的结果:
CGRect rect = [self boundingRectWithSize:CGSizeMake(inWidth, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
“self”是一个 NSAttributedString,“inWidth”是字符串应该适合的最大宽度(以像素为单位)。
我认为那是因为 iOS 7 的字体处理方式与 iOS 6 不同。
任何人都有一个可行的解决方案来计算两个 iOS 版本上的字符串的高度?