我正在使用SWRevealViewController。我通过应用程序滑出主菜单完全实现了。但是当我去一个有孩子的VC我可以回去的时候,self.revealViewController()
为前一个/父VC返回nil。主菜单按钮不再起作用。我在Swift编程。下图显示了使用VC进行导航。我有一个UITableviewcontroller项目和+按钮用于添加新项目。点击+后,会显示新VC添加新项目。如果我点击取消按钮,会显示VC项目,但主菜单按钮不起作用,我无法打开主菜单。任何人都可以帮我解决这个问题吗?感谢您的时间和帮助。
这是代码,类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())
}
}
...
答案 0 :(得分:2)
您不需要将新项目添加到初始导航控制器中。为取消按钮创建一个IBAction,如:
@IBAction func cancel(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
完成按钮相同。就像现在一样,每次从Add new project返回时,都会创建一个新的ProjectsView实例。