自定义 Segue NavBar 后退按钮
Posted
技术标签:
【中文标题】自定义 Segue NavBar 后退按钮【英文标题】:Custom Segue NavBar Back Button 【发布时间】:2014-03-08 21:58:39 【问题描述】:我想使用 NavBar 中的“返回”按钮将自定义 segue 从目标视图控制器返回到源视图控制器。这可能吗?我无法在任何地方找到答案。
到目前为止,我将自定义 segue 从目标视图控制器连接回源视图控制器并添加以下代码。但是,后退按钮不会触发我的自定义 segue。
-(void)perform
UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
UIViewController *destinationController = (UIViewController*)[self destinationViewController];
CATransition* transition = [CATransition animation];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
transition.duration = 0.5;
[sourceViewController.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[sourceViewController.navigationController pushViewController:destinationController animated:NO];
【问题讨论】:
它不起作用很好,因为“返回”segue需要pop而不是push。 【参考方案1】:在从导航堆栈弹出时自定义从推送视图控制器返回的过渡的方法是使用 自定义过渡,这是 ios 7 中的一项新功能。(在 iOS 7 之前,这是基本上不可能。)
【讨论】:
见developer.apple.com/library/ios/documentation/UIKit/Reference/… 这里还有一个完整的例子;它是针对标签栏控制器的,不是导航控制器,但原理完全一样:github.com/mattneub/Programming-iOS-Book-Examples/blob/master/… 找不到第二个链接的页面。你能举个小例子吗。我需要做的是导航(推送)到另一个控制器并在没有动画的情况下返回。我使用了自定义 segue它和去下一堂课时它没有动画,但是当我回来时它的动画。我不想要它。请给它一些建议。以上是关于自定义 Segue NavBar 后退按钮的主要内容,如果未能解决你的问题,请参考以下文章