我正在其委托方法中的 CALayer 上绘制图表drawLayer:inContext:
。
现在我想支持 Retina Display,因为图表在最新设备上看起来很模糊。
对于我直接在 CALayer 传递的图形上下文上绘制的部分,我可以通过如下设置 CALayer 的 contentScale 属性很好地绘制高分辨率。
if ([myLayer respondsToSelector:@selector(setContentsScale:)]) {
myLayer.contentsScale = [[UIScreen mainScreen] scale];
}
但是对于我使用 CGLayer 的部分,仍然画得模糊。
如何在高分辨率 CGLayer 上绘图以支持 Retina Display?
我想使用 CGLayer 重复绘制图形的相同绘图形状,以及切断超出图层边缘的图形线。
我通过从 CALayer 传递的图形上下文获取 CGLayer CGLayerCreateWithContex
,并使用 CG 函数(例如CGContextFillPath
或)在其上下文上绘制CGContextAddLineToPoint
。
我需要同时支持 iOS 4.x 和 iOS 3.1.3,包括 Retina 和旧版显示器。
谢谢,
库拉