我正在构建一个基于 iOS 的核心文本应用程序(iOS 5、iPad),并有一个视图,我在其中执行一些印刷计算(在 drawRect 中)。
我注意到当我使用 CGContextConvertRectToDeviceSpace 时,我在视网膜设备上得到的结果是非视网膜设备的两倍。我的理解是在 drawRect 中应用了一个隐式变换,应该隐藏任何视网膜/非视网膜设备的差异,所以我很困惑为什么我应该看到任何差异。
更具体地说,我正在尝试计算用户空间坐标中给定 CTLine 的用户坐标中的位置。我首先将 CTLineGetTypographicBounds 用于我的线,并使用 CGContextConvertRectToDeviceSpace 中的这些值来获得一个矩形......但是我得到的矩形在视网膜设备上的宽度和高度是非视网膜设备的两倍。有什么我想念的吗?