将视图推送到UINavigationController堆栈并显示后,我需要在某些情况下禁用“后退”按钮,例如,在该屏幕上编辑数据时。
以下隐藏后退按钮
self.navigationItem.hidesBackButton=YES;
但我需要禁用它。
关于如何隐藏它或建议不首先显示它,还有其他几个答案,但这些不是我需要实现的。
答案 0 :(得分:0)
您可以为navigationController的导航栏委托实现一种委托方法。看一下[UINavigationBarDelegate navigationBar:shouldPopItem:]
方法。
从此方法返回YES或NO将启用或禁用后退按钮。
答案 1 :(得分:0)
你可以实现一个leftBarButtonItem(不可见但没有效果) 将其添加到当前视图中(self.navigationItem.leftBarButtonItem) 并删除它以访问你的backButton。
答案 2 :(得分:0)
如果你很好,整个导航栏被禁用,一个简单的解决方案是
self.navigationController.navigationBar.userInteractionEnabled = NO;
当然,如果您想要保持其他条形按钮,则此功能无效。