Segue/Push上隐藏的导航栏(Swift)



我使用以下代码从孩子重定向到父母(除了我必须在父母身上加载不同的数据——把它想象成一个聊天应用程序,有一个按钮可以查看你的个人资料,你可以点击你的其他朋友重定向到不同的聊天,即不同的数据集(。我最初使用


let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(identifier: "parent") as! UIViewController
self.navigationController?.pushViewController(popOverVC, animated: true)

但这让我可以通过向左滑动回到以前的聊天(我试图通过隐藏后退按钮,使用来禁用它

navigationController?.interactivePopGestureRecognizer?.isEnabled = false

它也没有禁用向后滑动功能(我在ViewDidLoad、ViewWillAppear、ViewWillLayoutSubViews中使用过它,但它仍然不起作用;我仍然可以向后滑动到以前的聊天(。所以我试着使用以下内容,当它起作用时,我的导航栏就会消失。

navigationController?.setNavigationBarHidden(false, animated: true)

当我使用pushViewController时工作(但它仍然允许我向后滑动(,当我使用根VC时不工作(但禁用向后滑动(

这是我所说的rootVC方法:

let window = UIApplication.shared.windows[0] as UIWindow
popOverVC.navigationController?.setNavigationBarHidden(false, animated: true)
window.rootViewController = popOverVC


由于大多数iOS用户通过滑动返回,而较少通过按下返回按钮返回。因为使用模态分段而不是推送分段会更合理,因为推送分段不是那么大的转移。您可以禁用后退按钮。

self.navigationController?.navigationItem.backBarButtonItem?.isEnabled = false

相关内容

  • 没有找到相关文章

最新更新