我有一个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];有什么想法吗?蒂娅·霍华德
我做了一个更广泛的搜索,并提出了以下内容,不幸的是,仍然不起作用。
NSMutableDictionary* replicatorActions = [[NSMutableDictionary alloc]
initWithObjectsAndKeys:
[NSNull null], @"instanceRedOffset",
[NSNull null], @"instanceTransform",
nil];
replicator.actions = replicatorActions;
[replicatorActions release];发布于 2010-08-09 12:43:12
这对我起了作用:
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
replicatorLayer.instanceCount += 4;
[CATransaction commit];https://stackoverflow.com/questions/3153331
复制相似问题