CALayer のデリゲート メソッドでグラフを描画していますdrawLayer:inContext:。
最新のデバイスではグラフがぼやけて見えるため、Retina ディスプレイをサポートしたいと考えています。
CALayer から渡されたグラフィックス コンテキストに直接描画する部分については、CALayer の contentScale プロパティを次のように設定することで、高解像度で適切に描画できました。
if ([myLayer respondsToSelector:@selector(setContentsScale:)]) {
myLayer.contentsScale = [[UIScreen mainScreen] scale];
}
しかし、CGLayer を使用した部分はまだぼやけて描かれています。
Retina ディスプレイをサポートするために CGLayer に高解像度で描画するにはどうすればよいですか?
CGLayer を使用して、グラフの同じプロット形状を繰り返し描画したり、レイヤーの端を超えるグラフ線を切り取ったりしたいと考えています。
CALayer から渡されたグラフィックス コンテキストを使用してCGLayer を取得し、やCGLayerCreateWithContexなどの CG 関数を使用してそのコンテキストに描画します。CGContextFillPathCGContextAddLineToPoint
iOS 4.x と iOS 3.1.3 の両方、Retina とレガシー ディスプレイの両方をサポートする必要があります。
ありがとう、
くら