iOS 应用上的后退按钮在使用 popViewController 动画后无法正常工作
Back button on iOS app not working properly after using popViewControllerAnimated
我使用故事板创建了一个应用程序。我几乎没有带导航控制器的视图控制器。现在在最后一个中我有一个按钮,它正在打开 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)
然后它显示登录视图控制器,我可以输入 user/password,最后它调用代表用户已登录,我在其中执行此操作:
if(self.instagramLoginViewController != nil){
self.navigationController!.popViewControllerAnimated(false)
self.instagramLoginViewController = nil
}
它实际上会弹出登录视图控制器,但是从现在开始会发生一些奇怪的事情。
当以前的视图控制器出现时(是的,我在情节提要和其他视图上都有它)后退按钮无法正常工作。导航栏上的内容正在发生变化,但屏幕的其余部分在到达第一个视图控制器之前不会发生变化。
我已经从该 instagram 库中检查了登录视图控制器中的代码并删除了该行:
[self.navigationItem setHidesBackButton:YES];
所以后退按钮也出现在登录视图控制器中,当我点击它时一切正常。所以我的结论是 popViewControllerAnimated 是导致问题的原因。
我该如何解决?
妈的,不知道为什么,我变了
self.navigationController!.popViewControllerAnimated(false)
至
self.navigationController!.popViewControllerAnimated(true)
现在它可以工作了..奇怪..我想在没有动画的情况下做到这一点,但是好吧..
我使用故事板创建了一个应用程序。我几乎没有带导航控制器的视图控制器。现在在最后一个中我有一个按钮,它正在打开 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)
然后它显示登录视图控制器,我可以输入 user/password,最后它调用代表用户已登录,我在其中执行此操作:
if(self.instagramLoginViewController != nil){
self.navigationController!.popViewControllerAnimated(false)
self.instagramLoginViewController = nil
}
它实际上会弹出登录视图控制器,但是从现在开始会发生一些奇怪的事情。 当以前的视图控制器出现时(是的,我在情节提要和其他视图上都有它)后退按钮无法正常工作。导航栏上的内容正在发生变化,但屏幕的其余部分在到达第一个视图控制器之前不会发生变化。 我已经从该 instagram 库中检查了登录视图控制器中的代码并删除了该行:
[self.navigationItem setHidesBackButton:YES];
所以后退按钮也出现在登录视图控制器中,当我点击它时一切正常。所以我的结论是 popViewControllerAnimated 是导致问题的原因。
我该如何解决?
妈的,不知道为什么,我变了
self.navigationController!.popViewControllerAnimated(false)
至
self.navigationController!.popViewControllerAnimated(true)
现在它可以工作了..奇怪..我想在没有动画的情况下做到这一点,但是好吧..