次のコードを使用して、CATiledLayer で線を描画しています。
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx {
CGContextMoveToPoint(ctx, 130, 100.5);
CGContextAddLineToPoint(ctx, 160, 100.5);
CGContextSetRGBStrokeColor(ctx, 1, 0, 0, 1);
CGContextSetRGBFillColor(ctx, 1, 0, 0, 1);
CGContextDrawPath(ctx, kCGPathStroke);
}
私が得るのは、この4pxのぼやけた線です:
http://img837.imageshack.us/img837/5002/fuzzyline.png
CATiledLayer を CALayer に変更すると、予想どおり線がシャープになり、幅が 2px になります。この動作は iPhone 4 でのみ発生します。3GS では、CALayer と CAtiledLayer の両方で線がはっきりしています。もちろん、3GS では線の太さは 1px です。
この動作を克服する方法を考えてください。