Как анимировать рисунок CGPath?

Я задаюсь вопросом, существует ли способ сделать эту использующую Базовую Анимацию. А именно, я добавляю подуровня к поддержанному слоем пользовательскому NSView и устанавливаю его делегата в другом пользовательском NSView. drawInRect метод того класса тянет единственный CGPath:

- (void)drawInRect:(CGRect)rect inContext:(CGContextRef)context
{
    CGContextSaveGState(context);
    CGContextSetLineWidth(context, 12);

    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, 0, 0);
    CGPathAddLineToPoint(path, NULL, rect.size.width, rect.size.height);

    CGContextBeginPath(context);
    CGContextAddPath(context, path);
    CGContextStrokePath(context);
    CGContextRestoreGState(context);
}

Мой желаемый эффект состоял бы в том, чтобы анимировать рисунок этой строки. Таким образом, я хотел бы за строку на самом деле "простираться" анимированным способом. Кажется, что был бы простой способ сделать эту использующую Базовую Анимацию, но я не смог столкнуться с любым.

У Вас есть какие-либо предложения относительно того, как я мог выполнить эту цель?

10
задан Jordan Kay 4 April 2010 в 22:29
поделиться

1 ответ

Конечно, не проводите черту самостоятельно. Добавьте подслой высотой 12 пикселей с плоским цветом фона, начиная с рамки нулевой ширины и продолжая анимацию до ширины вашего представления. Если вам нужно скруглить концы, установите cornerRadius слоя на половину его высоты.

0
ответ дан 4 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: