gpt4 book ai didi

iOS 推送风格 segue 过渡

转载 作者:可可西里 更新时间:2023-11-01 04:26:39 24 4
gpt4 key购买 nike

我想在推送另一个 View Controller 时更改导航 View Controller 的“从右向左滑动”过渡。我在 Storyboard 中找到了一个选项,但它似乎不起作用。过渡样式仍然相同。通过单击 Storyboard 中的目标 View Controller ,我发现了这一点,尽管看起来过渡是针对模态样式 segue 的:

transition

所以,我的问题是,是否有可能使推送式 segue 转换看起来不同?如果是这样,怎么做?

最佳答案

您可以在自定义 Segue 中使用 CATransition 来实现任何类型的转换。这是示例代码。

-(void)perform {

__block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
__block UIViewController *destinationController = (UIViewController*)[self destinationViewController];

CATransition* transition = [CATransition animation];
transition.duration = .25;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
transition.subtype = kCATransitionFromLeft; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom



[sourceViewController.navigationController.view.layer addAnimation:transition
forKey:kCATransition];

[sourceViewController.navigationController pushViewController:destinationController animated:NO];


}

您访问此链接了解更多详情http://blog.jambura.com/2012/07/05/custom-segue-animation-left-to-right-using-catransition/

关于iOS 推送风格 segue 过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13744745/

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