在iOS项目中,我需要检查当前是否显示后退按钮。我已经尝试过一些提供的解决方案,但没有一个为我工作。目前我正在使用此代码iOS检查后退按钮是否显示在UINavigationController中
NSArray *stack = navigationController.viewControllers;
int i = stack.count-2;
if (i>=0)
{
UIViewController *backVC = (UIViewController*)[stack objectAtIndex:i];
if (backVC.navigationItem.backBarButtonItem != nil) {
NSLog(@"Back button is displayed!");
}
}
但是没有在日志中出现。如果我正确理解苹果指南,我正在寻找位于索引n-2处的堆栈中的ViewController,该ViewController应该保存后退按钮。
我使用这个代码里面 -navigationController:willShowViewController:动画:
感谢您的回答!你的解决方案,但行为相当奇怪。在从根视图控制器转到第二个视图控制器之后 - 没有任何反应,但是当我转到第三个视图时,它就起作用了!当我从第三名退到第二名对我来说很奇怪,因为情况与从第二名到第二名时完全一样。如果找到合适的解决方案,我会在这里发帖:) – NKorotkov 2014-10-21 14:31:17