У меня есть CALayer, который реализует drawInContext: и рисует простой круг, вот так:Animate CALayer масштаб без размытия
- (void)drawInContext:(CGContextRef)ctx
{
CGContextScaleCTM(ctx, DrawingScale, DrawingScale);
CGContextSetRGBFillColor (ctx, 1, 0, 0, 1);
CGContextFillEllipseInRect (ctx, LocationRectangle);
}
Я экспериментировал с различными способами увеличения размера моего круга, основанный на ощупь мероприятие. Я пробовал использовать систему beginAnimation UIView и CABasicAnimation, но все они размывают изображение. В моем чтении я обнаружил, что это связано с тем, что CALayer, похоже, обрабатывается как растровые изображения для этих параметров.
Справедливо ... но я хочу масштабировать свою графику без размытия, например. для использования векторного масштабирования.
Таким образом, в моем коде у меня есть свойство DrawingScale.
Есть ли опрятный способ масштабирования этого свойства с помощью анимации слоя? Или это то, что люди делают с NSTimers (yuk)?
Возможно, это одна из ситуаций, когда я могу использовать способность Core Animation для анимации пользовательских свойств? Если это так, я хотел бы узнать, какой пример люди находят, это лучшее, или какой раздел документов Apple может быть хорошим местом для начала этой темы.
Кажется, что когда речь заходит о графике на Mac/iOS, есть много способов кожного покрова/нарисовать кошку ...?
Это действительно крутое исправление; Спасибо, что поделился. –