gpt4 book ai didi

cocoa - 如何将 CAReplicatorLayer 的隐式动画的持续时间减少到 0

转载 作者:行者123 更新时间:2023-12-03 17:07:48 24 4
gpt4 key购买 nike

我有一个 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];

有什么想法吗? TIA霍华德

我进行了更广泛的搜索,并得出了以下结果,但不幸的是,它仍然不起作用。

NSMutableDictionary* replicatorActions = [[NSMutableDictionary alloc]
initWithObjectsAndKeys:
[NSNull null], @"instanceRedOffset",
[NSNull null], @"instanceTransform",
nil];
replicator.actions = replicatorActions;
[replicatorActions release];

最佳答案

这对我有用:

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
replicatorLayer.instanceCount += 4;
[CATransaction commit];

关于cocoa - 如何将 CAReplicatorLayer 的隐式动画的持续时间减少到 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com