我想知道是否有辦法使用Core Animation來做到這一點。具體來說,我將一個子層添加到支持層的自定義NSView並將其委託設置爲另一個自定義NSView。該類的drawInRect方法繪製一個CGPath:如何動畫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);
}
我想要的效果是動畫這一行的圖。也就是說,我希望這條線能夠以動畫的方式實際「拉伸」。似乎有一個簡單的方法來使用Core Animation來做到這一點,但我一直無法遇到任何問題。
對於如何實現這一目標,您有什麼建議嗎?
FWIW,CAShapeLayer是動畫任意路徑的絕佳選擇。但是對於一條直線,我會堅持諾亞的答案。 :-) – 2011-06-06 14:51:43