【问题标题】:Can't get SWRevealViewController working (Swift 2, Xcode 7)无法让 SWRevealViewController 工作(Swift 2、Xcode 7)
【发布时间】:2016-11-11 14:26:09
【问题描述】:

尝试实现 SWRevealViewController 时遇到很多麻烦:

GitHub Link

我学习了一些不同的教程,但仍然无法正常工作。在我按照指示操​​作后:

  1. 导入 SWRevealController Obj-C 文件
  2. 添加桥接头并导入 SWRevealController
  3. 将视图控制器添加到情节提要并设置类“SWRevealViewController”
  4. 我有一个登录屏幕,所以我在登录屏幕前添加了一个导航控制器,并将导航栏隐藏在此视图中
  5. 将登录屏幕转到revealViewController
  6. 添加 tableViewController 并创建带有标识符“sw_rear”类“none”的 segue,我已经尝试过这个也将类设置为“SWRevealViewControllerSegueSetController”
  7. 添加带有标识符“sw_front”的 segue,它连接到连接到我的主屏幕的导航控制器并添加了类“SWRevealViewSegueSetController”
  8. 添加了菜单项
  9. 为菜单项做了一个出口
  10. 在 viewDidLoad 中添加以下代码

    if revealViewController() != nil {
        print("this is running")
        menuButton.target = revealViewController()
        menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }
    

当我加载应用程序时没有错误,当我点击 menuButton 时没有任何反应。

任何建议都会很棒,我已经尝试了两天。

**编辑 - 刚刚注意到平移手势识别器似乎将我带回了我的登录页面 **编辑 - 还想注意我添加的菜单项是一个按钮,而不是图像....

【问题讨论】:

标签: ios swift storyboard xcode7 swrevealviewcontroller


【解决方案1】:

由于您的菜单按钮是一个按钮,而不是设置目标和操作的 2 行,请使用以下内容添加目标/操作:

menuButton.addTarget(revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), forControlEvents: .TouchUpInside)

要检查的另一件事是revealViewController() 是否实际上指向您的SWRevealViewController。在某些情况下可能为零!查看以下关于如何确保视图控制器(设置菜单按钮的位置)实际上具有指向 SWRevealViewController 的工作指针的讨论:finding SWRevealViewController

【讨论】:

    猜你喜欢
    • 2018-03-31
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2015-11-16
    • 2015-12-18
    相关资源
    最近更新 更多