Mi chiedo se c'è un modo per farlo usando Core Animation. Nello specifico, sto aggiungendo un sottolivello a un NSView personalizzato supportato da layer e impostando il suo delegato su un altro NSView personalizzato. Metodo drawInRect di quella classe disegna un singolo CGPath:Come animare il disegno di un 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);
}
mio effetto desiderato sarebbe quello di animare il disegno di questa linea. Cioè, mi piacerebbe che la linea "stirasse" effettivamente in modo animato. Sembra che ci sarebbe un modo semplice per farlo usando Core Animation, ma non sono stato in grado di trovarne uno.
Avete suggerimenti su come raggiungere questo obiettivo?
FWIW, CAShapeLayer è una scelta eccellente per l'animazione di percorsi arbitrari. Ma per una singola linea retta, rimango con la risposta di Noah. :-) –