2016-08-01 20 views
0

我怎么能驳回视图控制器,我通过此控制器利用此方法驳回ViewC控制器,我目前它通过使用根

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 

    } 

但WHE ñ我点击取消按钮什么都没有发生,我想我怎么能返回到最后一个ViewController,任何人都可以帮助我?

回答

1

首先,什么是drawerController?什么是它的超类,它的mainViewController应该是什么?

点击按钮时调用的方法是关闭模态显示的视图控制器。但是在这之前,你不要呈现视图控制器模态,设定为drawerController的mainViewController代替:

appdel.drawerController!.mainViewController = navigation 

的一种方式,使其工作就是要改变这一行,这样,而不是设置mainViewController你打电话presentViewController呈现新的视图控制器模态。如果这不是你希望它工作的方式(不显示视图控制器),你必须详细说明你想要新的vc和drawerController做什么。

+0

drawerController它是一个类,当我点击它时,改变了我左边菜单中的单元格背景颜色, –

+0

我其实对它的超类有什么更好奇吗? – johnyu

+0

UIViewController,UIGestureRecognizerDelegate –

相关问题