6

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

不推荐使用的 CGContext 函数

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

所以,如果我刚进去-drawRect:,我已经拿到了CGContextRef,我准备打电话CGContextShowGlyphsAtPoint()了,我该怎么做呢?什么是最佳实践,什么是最简单的核心文本替换,不需要重构除该调用之外的任何绘图代码(如果存在这样的事情)?

对于该页面上每个已弃用的文本功能的简明回答的答案的奖励积分 - 我最感兴趣CGContextShowGlyphsAtPoint(),但这对于寻求任何这些功能的替代品的其他人来说可以作为一个很好的参考。

4

1 回答 1

2

我相信意图是CGContextShowGlyphsAtPointCGContextShowGlyphsAtPositions取代。CTRunGetPositionsPtr您可以使用or (如果返回NULL),来获取字形位置CTRunGetPositions

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

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

于 2015-07-29T00:56:21.880 回答