导航“后退”按钮暂停,以便在弹出之前做一个快速动画
Posted
技术标签:
【中文标题】导航“后退”按钮暂停,以便在弹出之前做一个快速动画【英文标题】:Nav "Back" button pause in order to do a quick animation before pop 【发布时间】:2011-06-24 20:30:11 【问题描述】:我有一个导航控制器和一个滚动视图。
当用户点击“返回”按钮时,我想在视图“弹出”转换开始之前将滚动视图设置为偏移 0、0。
最好的方法是什么?
【问题讨论】:
【参考方案1】:UINavigationBarDelegate
是委托类,它实现了-navigationBar:shouldPopItem
。试着把你的动画代码放在那里。
或者,你可以试试这个
-(void) viewWillDisappear:(BOOL)animated
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound)
// back button was pressed. We know this is true because self is no longer
// in the navigation stack. Put animation code here
[super viewWillDisappear:animated];
【讨论】:
我试过了,你只看到中殿控制器的过渡。当您再次进入视图时,内容会在 0、0 处滚动。因此需要某种方式来推迟“返回”操作或其他方式。 现在 viewWillDisappear 得到了改进,两个动画同时开始。让我试试 shouldPopItem... @vgr:我很想知道哪种方法效果更好。请在您试用后回复shouldPopItem
。
会的。调查为什么我不能让 shouldPopItem 工作。它永远不会从 UIViewController 中调用。我确实在 init 中设置了委托,就像这样“self.navigationController.navigationBar.delegate = self;”以上是关于导航“后退”按钮暂停,以便在弹出之前做一个快速动画的主要内容,如果未能解决你的问题,请参考以下文章
按下导航栏中的后退按钮并弹出视图B后更新视图B后面的视图A.