【问题标题】:SWRevealViewController is getting nil after returning back through segue?SWRevealViewController 在通过 segue 返回后变得为零?
【发布时间】:2016-11-17 13:59:38
【问题描述】:

在 loginVC 中,我创建了一个单击它的按钮,它通过这样的 segue 转到主 tabbarcontroller..

@IBAction func btnLoginPressed(sender: AnyObject) {
 self.performSegueWithIdentifier("logintoMain", sender: self)    
}

成功进入 tabbarmainVC 但之后 swRevealviewController 变得为零..并且滑动在这里不起作用。为什么?

class MaintabbarController: UIViewController{

@IBOutlet weak var slideBtn: UIBarButtonItem!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    if self.revealViewController() != nil{
        slideBtn.target = self.revealViewController()
        slideBtn.action = #selector(SWRevealViewController.revealToggle(_:))
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }    
}

已编辑

我在登录按钮上也尝试过这段代码,点击进入 mainTabbarvc。现在它工作正常。实际上,我必须推动revealviewController,而不仅仅是它会处于活动状态..

 @IBAction func btnLoginPressed(sender: AnyObject) {
  let sb = UIStoryboard(name: "Main", bundle: nil)
  let vc =sb.instantiateViewControllerWithIdentifier("yourtabbarvcidentifier") as! UITabBarController
   vc.selectedIndex = 0
 // self.presentViewController(vc, animated: true, completion: nil)
    self.revealViewController().pushFrontViewController(vc, animated: true)
  }

【问题讨论】:

  • 您是否配置了您的故事板以正确使用 SWRevealViewController?我的意思是 sw_front segue 标识符,sw_rear segue 标识符等?
  • 是的,一切正常。唯一的问题是在单击 viewcontroller@ReinierMelian 的任何按钮后通过 segue 返回此页面

标签: ios swift uitabbarcontroller swrevealviewcontroller


【解决方案1】:

尝试将其添加到此函数中,看看会发生什么:

override func viewWillAppear(animated: Bool) {
    if self.revealViewController() != nil{
    slideBtn.target = self.revealViewController()
    slideBtn.action = #selector(SWRevealViewController.revealToggle(_:))
    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
 }
}

这将在视图处于活动状态时出现。

【讨论】:

  • 仍然遇到同样的问题。我在那里设置断点并检查。它检查 swrevealviewController 并得到 nil .. 这就是为什么不进入 if 条件
  • 你给视图控制器使用 SWRevealViewController 类了吗?
  • m 使用来自 github 的 SWRevealViewController 类
  • 在你的故事板中是这样的吗:i.imgur.com/rH8eb8A.png
  • 是的,我正在使用故事板
猜你喜欢
  • 2017-06-09
  • 2014-11-23
  • 2012-02-26
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-06
相关资源
最近更新 更多