首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将隐式动画的持续时间缩短为CAReplicatorLayer的0

如何将隐式动画的持续时间缩短为CAReplicatorLayer的0
EN

Stack Overflow用户
提问于 2010-06-30 20:55:06
回答 1查看 396关注 0票数 1

我有一个CAReplicatorLayer复制它的子层,但我想要关闭的动画有一个内置的持续时间。换句话说,我希望看到复制基本层的即时结果,而不是苹果隐式指定的持续时间。

这是复制代码,由一个CATransaction括起来.我认为这个包装器应该可以工作,但是不能。复制仍然需要很小但有限的时间(+/- 0.25秒)。

代码语言:javascript
复制
[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];

有什么想法吗?蒂娅·霍华德

我做了一个更广泛的搜索,并提出了以下内容,不幸的是,仍然不起作用。

代码语言:javascript
复制
NSMutableDictionary* replicatorActions = [[NSMutableDictionary alloc]
                                            initWithObjectsAndKeys:         
                                            [NSNull null], @"instanceRedOffset",
                                            [NSNull null], @"instanceTransform",
                                            nil];
replicator.actions = replicatorActions;
[replicatorActions release];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-09 12:43:12

这对我起了作用:

代码语言:javascript
复制
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
replicatorLayer.instanceCount += 4;
[CATransaction commit];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3153331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档