OGeek|极客世界-中国程序员成长平台

标题: iphone - 是否有 iOS 7 中文本和字符串绘制系统更改的概述? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:23
标题: iphone - 是否有 iOS 7 中文本和字符串绘制系统更改的概述?

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

enter image description here

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

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

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

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



Best Answer-推荐答案


如果您查看弃用,其中大多数弃用 UIFont 来使用属性字典。

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

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

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

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

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






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4