gab*_*m10 3 iphone objective-c ipad ios
所以我在我的应用程序中有一个UINavController,并且在用户按下后退按钮时尝试执行方法.我到处搜寻,只能找到一些在上下文中没有意义的点点滴滴.
有没有办法实现某种检查,当用户按下后退按钮以关闭当前视图时捕获?(弹出视图的viewWillDisappear方法由于某种原因永远不会被调用.我确实读过它除非你转发那个调用吗?)这听起来是对的,有没有人有任何想法或建议?提前致谢.
看看吧UINavigationControllerDelegate.当UIViewController被推送到导航控制器堆栈时,只有两种方法被调用.同样,如果正在推送一个,那么可能只是弹出了一些东西.这就是我所做的调用viewDidDisappear和viewWillDisappear.
# pragma mark - UINavigationControllerDelegate Methods
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
static UIViewController *vcPointer = nil;
// If the previous view controller is still around then let's send a viewWillDisappear message
if (vcPointer != nil) {
if ([vcPointer respondsToSelector:@selector(viewWillDisappear:)]) {
[vcPointer viewWillDisappear:animated];
}
}
// Keep track of a pointer to the current viewController
vcPointer = viewController;
[viewController viewWillAppear:animated];
}
Run Code Online (Sandbox Code Playgroud)
此代码保持一个指针引用到被推动,使得一旦我们推一个又一个,我们可以弹出最后一个(如果它仍然存在)的最后一个视图控制器.
| 归档时间: |
|
| 查看次数: |
5510 次 |
| 最近记录: |