ios - CoreText 替代已弃用的 CGContext 文本函数

标签 ios ios7 core-graphics core-text

在 iOS 7 中,一些 CGContext 文本绘制函数被弃用,取而代之的是 Core Text:

Deprecated CGContext Functions

有时 Apple 会针对已弃用的函数提出特定的替代方案(例如“使用 x 代替”),但在这种情况下,“x”只是“核心文本”,并不是那么具体。

所以,如果我只是在 -drawRect: 并且我有我的 CGContextRef 并且我准备好调用 CGContextShowGlyphsAtPoint(),我该怎么办?什么是最佳实践,什么是最简单的 Core Text 替换,不需要重构该调用之外的任何绘图代码(如果存在这样的事情)?

对于该页面上每个已弃用的文本函数的简洁回答的答案加分 - 我对 CGContextShowGlyphsAtPoint() 最感兴趣,但这可以作为其他人的良好引用寻找任何这些功能的替代品。

最佳答案

我相信其目的是将 CGContextShowGlyphsAtPoint 替换为 CGContextShowGlyphsAtPositions .您可以使用 CTRunGetPositionsPtr 或(如果返回 NULL)、CTRunGetPositions 获取字形位置。

AFAICT,CGContextShowGlyphsAtPositions 还替换了其他几个以前的 CoreText 函数,例如 CGContextShowGlyphsCGContextShowTextCGContextShowTextAtPoint .其他以前的 CoreText 函数,如 CGContextSelectFont 被多个新函数取代(在这种情况下,CGContextSetFontCGContextSetFontSize)。我相信通过阅读 the API 这一切都是不言自明的。 .

可能还有其他我没有特别提到的弃用函数,但我想你明白了。

关于ios - CoreText 替代已弃用的 CGContext 文本函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349710/

相关文章:

ios - 使用 danielgindi/ios-charts 库创建折线图

ios - 右对齐的 UITextField 空格键在 iOS 7 中不前进光标

ios - 使用 iOS quartz 2D 绘制饼图

iOS 使用 mask 和 UIColor 创建 UIImage

ios - 向 Nib 启动的 View 添加边框和阴影

ios - 如果他们引用的对象被释放,守卫是否可以在使用 [weak self] 的闭包中让 `self` = self 导致崩溃?

objective-c - 如何国际化 iPhone 应用程序

ios6 - 从 Crittercism 获得了这份崩溃报告。无法找出崩溃的原因。任何提示都会有所帮助

ios7 - 在 Xcode 5 中修改 Storyboard后如何同步本地化 Storyboard的字符串

ios - Testflight SDK 和 iOS 模拟器 - 如何使用?