在loginVC中,我创建了一个单击按钮,它通过segue进入主选项卡控制器。

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

是成功转到tabbarmainVC,但之后swRevealviewController变为n ..并且滑动在这里不起作用。为什么?
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)
  }

最佳答案

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

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

当视图处于 Activity 状态时,它将出现。

10-05 20:12