无法让 SWRevealViewController 工作(Swift 2,Xcode 7)
Can't get SWRevealViewController working (Swift 2, Xcode 7)
在尝试实现 SWRevealViewController 时遇到很多麻烦:
我已经学习了几个不同的教程,但仍然无法正常工作。在我按照指示操作之后:
- 导入 SWRevealController Obj-C 文件
- 添加桥接头并导入 SWRevealController
- 将 viewcontroller 添加到故事板并设置 class "SWRevealViewController"
- 我有一个登录屏幕,所以我在登录屏幕之前添加了一个导航控制器,并在此视图上隐藏了导航栏
- 将登录屏幕转到 revealViewController
- 添加 tableViewController 并创建带有标识符 "sw_rear" class "none" 的 segue,我已经尝试过将 class 作为 "SWRevealViewControllerSegueSetController"
- 添加 segue w/ identifer "sw_front" 连接到连接到我的主屏幕的导航控制器并添加 class "SWRevealViewSegueSetController"
- 添加了菜单项
- 为菜单项制作了一个出口
在viewDidLoad中添加了如下代码
if revealViewController() != nil {
print("this is running")
menuButton.target = revealViewController()
menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
当我加载应用程序时没有错误,当我点击 menuButton 时没有任何反应。
任何建议都很好,我这两天一直在努力解决这个问题。
**编辑 - 刚注意到平移手势识别器似乎让我回到登录页面
**编辑 - 还要注意我添加的菜单项是一个按钮,而不是图像....
由于您的菜单按钮是一个按钮,而不是设置目标和操作的 2 行,请使用以下内容添加 target/action:
menuButton.addTarget(revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), forControlEvents: .TouchUpInside)
要检查的另一件事是 revealViewController() 是否实际指向您的 SWRevealViewController。在某些情况下可能为零!查看以下关于如何确保您的视图控制器(您设置菜单按钮的地方)实际上有一个指向您的 SWRevealViewController 的工作指针的讨论:finding SWRevealViewController
在尝试实现 SWRevealViewController 时遇到很多麻烦:
我已经学习了几个不同的教程,但仍然无法正常工作。在我按照指示操作之后:
- 导入 SWRevealController Obj-C 文件
- 添加桥接头并导入 SWRevealController
- 将 viewcontroller 添加到故事板并设置 class "SWRevealViewController"
- 我有一个登录屏幕,所以我在登录屏幕之前添加了一个导航控制器,并在此视图上隐藏了导航栏
- 将登录屏幕转到 revealViewController
- 添加 tableViewController 并创建带有标识符 "sw_rear" class "none" 的 segue,我已经尝试过将 class 作为 "SWRevealViewControllerSegueSetController"
- 添加 segue w/ identifer "sw_front" 连接到连接到我的主屏幕的导航控制器并添加 class "SWRevealViewSegueSetController"
- 添加了菜单项
- 为菜单项制作了一个出口
在viewDidLoad中添加了如下代码
if revealViewController() != nil { print("this is running") menuButton.target = revealViewController() menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) }
当我加载应用程序时没有错误,当我点击 menuButton 时没有任何反应。
任何建议都很好,我这两天一直在努力解决这个问题。
**编辑 - 刚注意到平移手势识别器似乎让我回到登录页面 **编辑 - 还要注意我添加的菜单项是一个按钮,而不是图像....
由于您的菜单按钮是一个按钮,而不是设置目标和操作的 2 行,请使用以下内容添加 target/action:
menuButton.addTarget(revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), forControlEvents: .TouchUpInside)
要检查的另一件事是 revealViewController() 是否实际指向您的 SWRevealViewController。在某些情况下可能为零!查看以下关于如何确保您的视图控制器(您设置菜单按钮的地方)实际上有一个指向您的 SWRevealViewController 的工作指针的讨论:finding SWRevealViewController