Я задаюсь вопросом, существует ли способ сделать эту использующую Базовую Анимацию. А именно, я добавляю подуровня к поддержанному слоем пользовательскому 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);
}
Мой желаемый эффект состоял бы в том, чтобы анимировать рисунок этой строки. Таким образом, я хотел бы за строку на самом деле "простираться" анимированным способом. Кажется, что был бы простой способ сделать эту использующую Базовую Анимацию, но я не смог столкнуться с любым.
У Вас есть какие-либо предложения относительно того, как я мог выполнить эту цель?
Конечно, не проводите черту самостоятельно. Добавьте подслой высотой 12 пикселей с плоским цветом фона, начиная с рамки нулевой ширины и продолжая анимацию до ширины вашего представления. Если вам нужно скруглить концы, установите cornerRadius
слоя на половину его высоты.