私はそれをクリックすると上のボタンを作成して、それがこのようなセグエスルーメインtabbarcontrollerに行く..SWRevealViewControllerはsegueから戻った後にnilを取得していますか? loginVCで
@IBAction func btnLoginPressed(sender: AnyObject) {
self.performSegueWithIdentifier("logintoMain", sender: self)
}
swRevealviewControllerが.. nilを取得していないスライドされていることを正常にtabbarmainVCに行くが、後にされましたここで働いている。どうして?
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に行くためにクリックし、ログインボタンの上にも、このコードを試してみました。今はうまく動作します。ビューがアクティブなときにこれが表示されます
override func viewWillAppear(animated: Bool) {
if self.revealViewController() != nil{
slideBtn.target = self.revealViewController()
slideBtn.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
}
:実際に私はそれがこの機能に追加...
@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で正しく動作するようにstoryBoardを構成しましたか?私はsw_front segue識別子、sw_rear segue識別子などを意味しますか? –
はいすべて正しく動作しています。 viewcontroller @ ReinierMelian –