我已经使用故事板创建了一个应用。我有几个带导航控制器的视图控制器。现在在最后一个我有一个按钮,它打开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是导致问题的那个。
我该如何解决这个问题?
答案 0 :(得分:0)
该死的,我不知道为什么,但我已经改变了
self.navigationController!.popViewControllerAnimated(false)
到
self.navigationController!.popViewControllerAnimated(true)
现在它有效..奇怪......我想在没有动画的情况下做到这一点,但是好......