我正在使用以下代码在 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 粗的。
任何想法如何克服这种行为。