2016-08-14 11 views
1

アプリでは、SWRevealViewControllerテンプレートを使用してサイドメニューを作成しています。ハンバーガーメニューボタンになるように私自身のアニメーションボタンを作ったので、押したときにサイドメニューが開きます。問題は、アニメーションボタンをSWRevealViewControllerにどのように接続するのか分かりません。SwiftのSWRevealViewControllerにハンバーガーボタンを追加する

ここにボタンコードがあります。

動画ボタン

self.button = HamburgerButton(frame: CGRectMake(0, 0, 30, 30)) 
    self.button.addTarget(self, action: #selector(home.toggle(_:)), forControlEvents:.TouchUpInside) 

    let refreshButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, 
    target: self, action: #selector(home.buttonMethod)) 
    navigationItem.leftBarButtonItem = button 

と相続人SWRevealViewController

override func viewDidLoad() { 
    super.viewDidLoad() 

if revealViewController() != nil { 
     menuButton.target = revealViewController() 
     menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) 
     view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
} 

} 
のために使用されたボタン

アイブ氏は、多くの研究を行ってちょうどそれを行う方法を見つけることができません。最初のコードであるボタンがSWRevealViewControllerにアクセスし、SWRevealViewControllerテンプレートに付属している2番目のコードであるボタンではなく、サイドメニューを開いて閉じるようにする必要があります。どんな助けも素晴らしいでしょう!

答えて

1

これは私がそれを行う方法です。これをあなたのニーズに適応させることができます。

let singleTap = UITapGestureRecognizer(target: self, action: #selector(tapDetected)) 
singleTap.numberOfTapsRequired = 1 
sideMenuButton.userInteractionEnabled = true 
sideMenuButton.addGestureRecognizer(singleTap) 

func tapDetected() { 
    self.revealViewController().revealToggle(self) 
} 
+0

「tapDetetected」がObject-Cであるというエラーが表示されます。私はそれを迅速に働くように変えることができるものは何ですか? –

+0

私はそれを理解しました!あなたは正しかった。私はちょうどそれを使いこなす必要があった。ありがとう! –

関連する問題