gpt4 book ai didi

ios - 如何一次翻转多个 View ?

转载 作者:行者123 更新时间:2023-11-29 11:02:16 25 4
gpt4 key购买 nike

我正在使用 transitionFromViewUIViewAnimationOptionTransitionFlipFromLeft。现在我需要以这种方式组合此类转换的数量,以便我知道整个转换的完成情况。

最好的方法是什么?我可以使用类似 animateWithDuration 的东西,然后将多个 transitionFromView 放在动画 block 中吗?如果是,那么两条消息的持续时间参数是否会相互干扰?在那种情况下,每个持续时间参数意味着什么?

有没有更好的方法来为所有的完成 block 翻转多个 View ?

最佳答案

您可以使用 CATransaction 轻松做到这一点。

首先,如果您还没有将 QuartzCore 框架添加到您的目标中。

接下来,添加 #import <QuartzCore/QuartzCore.h>到你的 .m 的顶部文件,如果您还没有的话。

执行[CATransaction begin]在创建转换的语句之前。然后为新交易设置完成区 block 。接下来,创建动画。最后,提交事务。这是一个例子:

- (IBAction)flipButtonWasTapped:(id)sender {
[CATransaction begin]; {
[CATransaction setCompletionBlock:^{
NSLog(@"all animations complete!");
}];
[UIView transitionFromView:self.topFrontLabel
toView:self.topBackLabel duration:1
options:UIViewAnimationOptionTransitionFlipFromRight
completion:nil];
[UIView transitionFromView:self.bottomFrontLabel
toView:self.bottomBackLabel duration:1.5
options:UIViewAnimationOptionTransitionFlipFromRight
completion:nil];
} [CATransaction commit];
}

请注意,您必须在创建任何动画之前设置完成 block 。完成 block 仅等待设置后添加的动画。

另请注意 CATransaction 的所有方法是类消息。您没有获得代表交易的对象。

关于ios - 如何一次翻转多个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15345183/

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