通过segue返回后,SWRevealViewController变为nil了吗?

3

在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)
  }

你是否正确配置了storyBoard以使其与SWRevealViewController正常工作?我的意思是sw_front segue标识符,sw_rear segue标识符等。 - Reinier Melian
是的,所有功能都正常工作。唯一的问题是在通过视图控制器上的任何按钮单击返回到此页面后发生的@ReinierMelian。 - PRADIP KUMAR
1个回答

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条件的原因。 - PRADIP KUMAR
你是否在使用SWRevealViewController类给视图控制器进行了设置? - Konsy
我正在使用来自Github的SWRevealViewController类。 - PRADIP KUMAR
您的Storyboard是否看起来像这样:http://i.imgur.com/rH8eb8A.png? - Konsy
你已将UIViewControllers类设置为SWRevealViewController了吗? - Konsy
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接