SWRevealViewController未在XCode 7中传递父级

时间:2015-09-17 16:31:58

标签: ios slidingmenu slidingdrawer swrevealviewcontroller

在SWRevealViewController github页面上有一个类似的线程,它不会快速到达任何地方,所以我想我会在这里为专家提供这个。

我的应用程序中使用了SWRevealViewController 2.4。它已经好几个月了(之前使用的是2.3)。我注意到我们的beta版测试人员在他的iPad上安装了iOS 9 Beta并且显示器没有工作;但它并不是一个高优先级,所以我们继续前进。

今天我更新到了XCode 7,仍在针对iOS 8.4进行测试。

在我的第一个前视图控制器中,一切似乎都运行正常。但是一旦我转到我的下一个前视图控制器,我就无法访问SWRevealViewController。

" viewDidLoad"中的这一行下一个视图控制器

_revealViewController = self.revealViewController;
if ( _revealViewController )
{
    [_sidebarButton setTarget: _revealViewController];
    [_sidebarButton setAction: @selector( revealToggle: )];
}

不再有效,因为" self.revealViewController"永远都是零。

我也尝试将全局引用传递给第一个revealviewcontroller,尽管它不是,但它也不起作用。侧栏按钮不起作用,我打电话给#34; rightRevealToggleAnimated"它不再有效。

同样,没有代码或iOS版本更改;刚更新到XCode 7。

2 个答案:

答案 0 :(得分:0)

通过确保故事板上的所有segue都是SWRevealViewControllerPushSegue&,并且还捕获了对我的全局数据类中的revealview控制器的引用并在任何地方使用相同的引用,我能够可靠地完成这项工作。

答案 1 :(得分:0)

这就是我修复侧边栏问题的方法。

  1. 覆盖func viewDidLoad(){     super.viewDidLoad()
  2. self.view.addGestureRecognizer(self.revealViewController()。panGestureRecognizer())

    }

    1. @IBOutlet weak var open:UIBarButtonItem!

    2. @IBAction func open(sender:UIBarButtonItem){

      open.target = self.revealViewController()
      open.action = Selector("revealToggle:")
      

      }