在 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 函数,例如 CGContextShowGlyphs
、CGContextShowText
和 CGContextShowTextAtPoint
.其他以前的 CoreText 函数,如 CGContextSelectFont
被多个新函数取代(在这种情况下,CGContextSetFont
和 CGContextSetFontSize
)。我相信通过阅读 the API 这一切都是不言自明的。 .
可能还有其他我没有特别提到的弃用函数,但我想你明白了。
关于ios - CoreText 替代已弃用的 CGContext 文本函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19349710/