如何使用此方法解除调用它的视图控制器

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/

10-13 01:49