iphone - iOS 7 中的文本和字符串绘制系统更改是否有概述?

标签 iphone ios ipad nsstring uikit

在 iOS 7 中,一些最重要的字符串绘制和指标计算方法是 depracated没有明显的替代方案。

enter image description here

NSString UIKit Additions Reference上的页面像血一样红。几乎所有的东西都被弃用了。 Xcode 向我发出 300 条警告。

我试图找出 Apple 的想法以及它们在 UIKit 文本系统中的变化,但我该从哪里开始呢?他们有没有提到为什么所有这些都被弃用以及文本系统现在的工作方式有何不同?以及如何适应?当标签可以缩放字体以适合大小时如何计算文本边界框? TextKit 是解决方案吗?

我在 Google 上花了 3 个小时,但没有找到有关如何解决此问题的有用信息。

我们应该在这里记录所有替代方案,以便所有遇到这种令人沮丧的弃用困惑的开发人员都能迅速找到内心的平静。

最佳答案

如果您查看反对意见,他们中的大多数反对使用 UIFont 来代替使用属性字典。

drawInRect:withFont: (Deprecated in iOS 7.0. Use drawInRect:withAttributes: instead.) drawInRect:withFont:lineBreakMode: (Deprecated in iOS 7.0. Use drawInRect:withAttributes: instead.)
sizeWithFont:(Deprecated in iOS 7.0. Use sizeWithAttributes: instead.) etc…

因此,如果您正在寻找起点,请学习如何使用属性字典来设置字体。看起来有很多弃用,但实际上您不需要学习那么多新东西。

如果您想更新代码以使用新的 TextKit 系统,请查看 WWDC 视频和 TextKit Programming Guide .

如果你想知道 Apple 如此弃用的原因,我猜这与 UILabelUITextView 过去是如何构建在 WebView 上有关,现在它们构建在 TextKit 上。

关于iphone - iOS 7 中的文本和字符串绘制系统更改是否有概述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196802/

相关文章:

iphone - glDrawElements 分配内存但不释放它

javascript - 如何从网络上查看应用程序版本

iphone - objective-c 中 didload 方法启动时的 LandscapeOrientation

ios - 如何快速同时显示表格 View 单元格索引路径和 Collection View 索引路径?

ios - 如何为与设备大小无关的 UICollectionView 单元格绘制网格线?

iphone - MPMoviePlayerController 背景颜色不会粘住

iphone - 有没有适合初学者的关于Core Graphics的好资料?

ios - 尝试展开 segue 时出现错误 UIAlert

iphone - 重置 iOS 应用程序的推送通知设置?

ios - 如何旋转 CAShapeLayer 及其图案?