Я рисую график на CALayer в методе его делегата drawLayer:inContext:
.
Теперь я хочу поддержать Retina Display, так как график выглядит размытым на последних устройствах.
Для частей, которые я рисую непосредственно в графическом контексте, передаваемом CALayer, я мог бы красиво рисовать в высоком разрешении, устанавливая свойство contentScale CALayer следующим образом.
if ([myLayer respondsToSelector:@selector(setContentsScale:)]) {
myLayer.contentsScale = [[UIScreen mainScreen] scale];
}
Но для частей, которые я использую CGLayer,все еще нарисовано размытым.
Как рисовать на CGLayer в высоком разрешении для поддержки Retina Display?
Я хочу использовать CGLayer для многократного рисования одинаковых форм графика, а такжеобрезать линии графика, выходящие за край слоя.
Я получаю CGLayer на CGLayerCreateWithContex
с графическим контекстом, переданным из CALayer, и рисую его контекст, используя такие функции CG, как CGContextFillPath
или CGContextAddLineToPoint
.
Мне нужно поддерживать iOS 4.x и iOS 3.1.3, Retina и устаревший дисплей.
Спасибо,
Kura