У меня есть CAReplicatorLayer, реплицирующий его подслой в соответствии с ожиданиями, но у анимации есть встроенная продолжительность, которую я хочу отключить. Другими словами, я хочу видеть мгновенные результаты репликации базового слоя, а не за период времени, который явно указан Apple.
Вот код репликации, заключенный в скобки [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];
Есть мысли? ТИА
Говард
Я провел более обширный поиск и нашел следующее, которое, к сожалению, все еще не работает.
NSMutableDictionary* replicatorActions = [[NSMutableDictionary alloc]
initWithObjectsAndKeys:
[NSNull null], @"instanceRedOffset",
[NSNull null], @"instanceTransform",
nil];
replicator.actions = replicatorActions;
[replicatorActions release];