使用popViewControllerAnimated

时间:2015-09-05 11:12:12

标签: ios xcode-storyboard

我已经使用故事板创建了一个应用。我有几个带导航控制器的视图控制器。现在在最后一个我有一个按钮,它打开instagram登录视图控制器(我使用这个库:https://github.com/OceanLabs/InstagramImagePicker-iOS)。

这是一段代码:

let loginVC = OLInstagramLoginWebViewController()
loginVC.redirectURI = GlobalConstants.instagramRedirectId
self.instagramLoginViewController = loginVC
self.instagramLoginViewController!.delegate = self
self.navigationController!.pushViewController(loginVC, animated: true)

然后显示登录视图控制器,我可以输入用户/密码,最后调用用户登录的委托,我这样做:

if(self.instagramLoginViewController != nil){
    self.navigationController!.popViewControllerAnimated(false)
    self.instagramLoginViewController = nil
}

它实际上会弹出登录视图控制器,但是从现在开始会发生一些奇怪的事情。 当前一个视图控制器出现时(是的,我在故事板和其他视图上都有它)后退按钮不能正常工作。在导航栏上,事情正在发生变化,但屏幕的其余部分在到达第一个视图控制器之前不会改变。 我已经从该Instagram库中检查了登录视图控制器中的代码并删除了该行:

[self.navigationItem setHidesBackButton:YES];

因此后退按钮也出现在登录视图控制器中,当我点击它时一切正常。所以我的结论是popViewControllerAnimated是导致问题的那个。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

该死的,我不知道为什么,但我已经改变了

self.navigationController!.popViewControllerAnimated(false)

self.navigationController!.popViewControllerAnimated(true)

现在它有效..奇怪......我想在没有动画的情况下做到这一点,但是好......