如何解雇我使用此方法调用它的视图控制器
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)
}
在这个控制器中我添加UIBarButtonItem来取消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,有人可以帮助我吗?
答案 0 :(得分:1)
首先,什么是drawerController?什么是它的超类以及它的mainViewController应该是什么?
点击按钮时调用的方法是解除以模态方式显示的视图控制器。但是在此之前,您没有以模态方式呈现该视图控制器,而是设置为drawerController的mainViewController:
appdel.drawerController!.mainViewController = navigation
使其工作的一种方法是更改此行,以便不是设置mainViewController而是调用presentViewController以模态方式呈现新的视图控制器。
如果这不是你想要它的工作方式(没有视图控制器的演示),你必须详细说明你想要新的vc和drawerController做什么。