无法解除Swift中的导航控制器

时间:2015-06-29 20:31:38

标签: ios swift uinavigationcontroller

所以我有一个简单的导航控制器,注册,点击完成,然后你转到主页。问题是当你转到主页时,导航控制器就会出现。

enter image description here

enter image description here

正如您在上一张图片(主页)中看到的那样,导航栏仍然存在。当用户在第一张图像上按“完成”时,我使用self.performSegueWithIdentifier("loginTrue", sender: nil) 转到“主页”。我尝试过使用

self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)

但似乎没有任何事情发生。那么总结一下,关于如何从“主页”“解散”导航控制器的任何想法?谢谢!

4 个答案:

答案 0 :(得分:16)

尝试

self.navigationController?.popViewControllerAnimated(true)

更新:Swift 4.2

self.navigationController?.popViewController(animated: true)

答案 1 :(得分:1)

尝试仅对LoginView使用ViewController。然后使用self.dismissPerformSegue一起使用NavigationController

答案 2 :(得分:0)

注册视图控制器是否以模态方式呈现?然后,在注册视图控制器上,您可以执行

self.dismiss(animated: true, completion: nil) 

答案 3 :(得分:0)

//hide the navigation bar on this page
override func viewWillAppear(_ animated: Bool) {
    self.navigationController?.isNavigationBarHidden = true
}

这会隐藏主页上的导航栏,但请确保使用viewWillAppear,这样每当您返回页面时,导航都不会重新出现。