gpt4 book ai didi

iphone - 如何将核心动画 block 内的一段代码排除在动画之外?

转载 作者:行者123 更新时间:2023-12-03 19:31:49 25 4
gpt4 key购买 nike

我有一个核心动画 block ,我在其中调用一个将加载 View Controller 的方法。两个 View Controller 之间发生自定义转换。然而,当 View Controller 构建界面时,所有这些东西都会受到核心动画的影响。虽然它会产生一些有趣的效果,但我不希望这样;)

[UIView beginAnimations:@"jump to view controller" context:self];
[UIView setAnimationDuration:0.55];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

// some animated property-changes here...

[self loadViewControllerForIndex:targetIndex]; // everything that happens in this method shall not be animated

UIViewController *controller = [viewControllers objectAtIndex:targetIndex];
[controller viewWillAppear:YES];
[controller viewDidAppear:YES];

[UIView commitAnimations];

不幸的是,我无法将那部分移出区 block 。

最佳答案

您应该能够通过将 UIView 动画 block 的一部分包装在 CATransaction 中并禁用它的动画来抑制该部分的动画:

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];

// Changes to disable animation for here
[CATransaction commit];

关于iphone - 如何将核心动画 block 内的一段代码排除在动画之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/914959/

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