Я рисую линию в 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);
}
Я получаю размытую линию размером 4 пикселя:
http://img837.imageshack.us/img837/5002/fuzzyline.png
Если я изменю CATiledLayer на CALayer, линия будет четкой, и ее ширина будет 2 пикселя, как и ожидалось.
Я получаю такое поведение только на iPhone 4, на 3GS линия четкая как на CALayer, так и на CATiledLayer. Конечно, в 3GS линия имеет толщину 1px.
Любая идея, как преодолеть это поведение.