Мне в основном нужен способ графического создания путей для импорта в мое приложение, чтобы я мог использовать их в объектах CAKeyframeAnimation в качестве пути анимации. Мне также не хватает времени, чтобы развернуть свой собственный отдельный инструмент, чтобы сделать это в данный момент. Поэтому я подумал, что SVGkit может быть самым быстрым / простым способом обойти это.
Но теперь у меня проблемы с добавлением различных подпутей, составляющих весь путь.
UPDATE:
Пока у меня есть это:
// l has already been setup and added to the main view layer:
// it's the CALayer whose position I'm trying to animate over the path.
SVGDocument *document = [SVGDocument documentNamed:@"pathtest.svg"];
CALayer *f = [document layerTree];
CGMutablePathRef path = CGPathCreateMutable();
for(int i = 0; i < [f.sublayers count]; i++)
CGPathAddPath(path, NULL, ((CAShapeLayer*)[f.sublayers objectAtIndex:i]).path);
CAKeyframeAnimation *a = [CAKeyframeAnimation animationWithKeyPath:@"position"];
a.path = path;
a.fillMode = kCAFillModeForwards;
a.removedOnCompletion = NO;
a.duration = 5.0;
[l addAnimation:a forKey:nil];
Приведенный выше код «почти» правильный (но не совсем, забавный): различные подпути, составляющие мой путь, добавляются к основному пути. Но кажется, что подпути не добавляются в конце предыдущих подпутей. То есть при запуске анимации CALayer, кажется, транслирует через один сегмент пути, затем переходит в другое место, откуда он начинает плавно перемещаться по второму подпути, и т. Д. Для всех подпутей, составляющих основной путь.
Есть идеи?