我有登录页面的导航控制器,登录成功后,我想解除导航,这意味着一旦登录成功,用户不允许返回登录页面。我试图创建另一个故事板并执行segue,但导航栏仍然存在,无论如何以编程方式或从故事板中解除导航栏?
我不希望"配对"按钮显示在此页面上。
答案 0 :(得分:1)
我找到了解决方法!
我在iOS 11和iOS 13上对其进行了测试,并且效果很好:)
protocol CustomNavigationViewControllerDelegate {
func shouldPop() -> Bool
}
class CustomNavigationViewController: UINavigationController, UINavigationBarDelegate {
var backDelegate: CustomNavigationViewControllerDelegate?
func navigationBar(_ navigationBar: UINavigationBar, shouldPop item: UINavigationItem) -> Bool {
return backDelegate?.shouldPop() ?? true
}
}
class SecondViewController: UIViewController, CustomNavigationViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
(self.navigationController as? CustomNavigationViewController)?.backDelegate = self
}
func shouldPop() -> Bool {
if (needToShowAlert) {
showExitAlert()
return false
} else {
return true
}
}
}
答案 1 :(得分:0)
从“登录”页面查看导航控制器,而不是从导航控制器到“登录”页面。