Я пытаюсь реализовать функцию рисования. В настоящее время я использую UIBezierPath:Плавная линия после масштабирования
@interface DrawView : UIView {
UIBezierPath *myPath;
}
@end
@implemenation DrawView
-(id)initWithFrame:(CGRect)frame {
//...normal init code
myPath = [[UIBezierPath alloc]init];
myPath.lineCapStyle = kCGLineCapRound;
myPath.lineJoinStyle = kCGLineJoinRound;
myPath.miterLimit = 0;
myPath.lineWidth = 10;
}
В touchesBegan:
я отслеживать начальную и позвонить [myPath moveToPoint:myTouch locationInView:self];
В touchesMoved:
я называю [myPath addLineToPoint...]; [self setNeedsDisplay]
.
My DrawView - это подпрограмма UIScrollView.
Моя проблема: Когда я увеличиваю масштаб изображения, очень угловая или пиксельная.
Я хочу перерисовать рисунок таким образом, чтобы он выглядел красиво и гладко, но я не могу понять, как и с чего начать.
Я нашел простое «решение»:
-(void)scrollViewDidEndZooming:(UIScrollView*)scrollView withView:(UIView*)view atScale:(float)scale {
view.layer.contentsScale = scale;
[view setNeedsDisplay];
}
Когда я реализовать метод в этом случае рисунок будет более гладким после zomming, но приложение становится очень лагом и медленно. На высоком уровне maximumZoomScale
прокруткиПросмотреть приложение полностью. Когда я понимаю, что документ правильно устанавливает содержание. Шкала выше 2 не является хорошей идеей или каким-либо образом меняет contensScale, это не так хорошо.
Большое спасибо за сообщение этой ссылки. Это помогает понять кварцевое ядро и оптимизировать его. Я должен играть с оптимизационными шагами из сеансового видео. Но я думаю, что это не ответит на мой вопрос с масштабированием. Вполне знаю, что я нашел несколько примеров красок для iOS, но никогда не увеличивал масштаб. – Sebastian