如何使用此方法解除调用它的视图控制器
func openUpgradeAccount(){
let appdel = AppDelegate.sharedInstance()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let earnFreeSpace = storyboard.instantiateViewControllerWithIdentifier("IAPUpgradeVC") as! IAPUpgradeVC
let navigation:UINavigationController = UINavigationController(rootViewController: earnFreeSpace)
appdel.drawerController!.mainViewController = navigation
appdel.drawerController!.setDrawerState(.Closed, animated: true)
}
在这个控制器中,我添加了uibarbuttonem来取消id viewdidload方法
let cancelBarBtn = UIBarButtonItem(title: NSLocalizedString("Cancel", tableName: appLocalizedTable, comment: ""), style: UIBarButtonItemStyle.Done, target: self, action: #selector(IAPUpgradeVC.didTapCancelButton(_:)))
cancelBarBtn.tintColor = UIColor.whiteColor()
self.navigationItem.leftBarButtonItem = cancelBarBtn
我用来关闭视图的didTapCancelButton方法是
func didTapCancelButton(sender: UIBarButtonItem) {
self.dismissViewControllerAnimated(true) { () -> Void in
}
但是当我点击取消按钮什么也没发生,我想要什么我怎么能回到最后的ViewController,有人能帮我吗?
最佳答案
首先,什么是抽屉控制器?它的超类是什么,mainViewController应该是什么?
点击按钮时调用的方法用于解除模式显示的视图控制器。但是在此之前,您不以模式显示该视图控制器,而是将设置为抽屉控制器的mainViewController:
appdel.drawerController!.mainViewController = navigation
一种可行的方法是更改这一行,这样就不用设置mainViewController,而是调用present view controller以模式显示新的视图控制器。
如果这不是您想要的工作方式(没有视图控制器的表示),那么您必须详细说明您希望新的vc和drawerController都做什么。
关于ios - 关闭我通过使用根呈现它的 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38701500/