У меня есть CAReplicatorLayer, реплицирующий его подуровень, как и ожидалось, но для анимации, которую я хочу отключить, есть встроенная продолжительность. Другими словами, я хочу видеть мгновенные результаты репликации базового слоя, а не по длительности времени, которая неявно указана Apple.Как уменьшить длительность неявной анимации до 0 для CAReplicatorLayer
Вот код репликации, заключенный в скобки с помощью оболочки [CATransaction ...], которая, как я думаю, должна работать, но не работает. Репликация по-прежнему занимает небольшое, но конечное (+/- 0,25 с) количество времени.
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.0f]
forKey:kCATransactionAnimationDuration];
[CATransaction setAnimationDuration:0.0];
replicator.instanceCount = 10;
replicator.instanceRedOffset = 0.1;
replicator.instanceTransform = CATransform3DMakeTranslation(x, y, 0);
[CATransaction commit];
Любые мысли? TIA Howard
Я сделал более развернутый поиск и придумал следующее, что, к сожалению, еще не работает.
NSMutableDictionary* replicatorActions = [[NSMutableDictionary alloc]
initWithObjectsAndKeys:
[NSNull null], @"instanceRedOffset",
[NSNull null], @"instanceTransform",
nil];
replicator.actions = replicatorActions;
[replicatorActions release];