在我转到视图控制器的子节点并返回到上一个视图控制器后,SWRevealViewController将无法工作

时间:2015-11-19 11:42:40

标签: ios swift swrevealviewcontroller

我正在使用SWRevealViewController。我通过应用程序滑出主菜单完全实现了。但是当我去一个有孩子的VC我可以回去的时候,self.revealViewController()为前一个/父VC返回nil。主菜单按钮不再起作用。我在Swift编程。下图显示了使用VC进行导航。我有一个UITableviewcontroller项目和+按钮用于添加新项目。点击+后,会显示新VC添加新项目。如果我点击取消按钮,会显示VC项目,但主菜单按钮不起作用,我无法打开主菜单。任何人都可以帮我解决这个问题吗?感谢您的时间和帮助。

Navigation

这是代码,类ProjectsView的开头,我为每个VC设置了SWViewController。

class ProjectsView: UITableViewController {

    @IBOutlet var mainMenuBttn: UIBarButtonItem!

    var projects: [String] = ["Project1", "Project3", "Project3"];

    override func viewDidLoad() {
        super.viewDidLoad()

        if self.revealViewController() != nil {
            mainMenuBttn.target = self.revealViewController()
            mainMenuBttn.action = "revealToggle:"
            self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        }

    }

...

1 个答案:

答案 0 :(得分:2)

您不需要将新项目添加到初始导航控制器中。为取消按钮创建一个IBAction,如:

@IBAction func cancel(sender: AnyObject) {
       self.dismissViewControllerAnimated(true, completion: nil)
    }

完成按钮相同。就像现在一样,每次从Add new project返回时,都会创建一个新的ProjectsView实例。