2016-08-01 10 views
0

SWRevealViewControllerを使用して、右から表示されるスライドビューを作成しました。ナビゲーションバー上の特定のボタンをクリックするか、画面を右から左にスライドさせることでトリガされるはずです。SWRevealControllerのクリックイベントがうまくいかず、背景がうまく動きます。

表示されるビューは、スクリーンショットの中央に表示されます。

問題は、ボタンをクリックしたときではなく、左にスライドしたときにのみ機能することです。以下は、スクリーンショットの右側にあるView ControllerのUIViewControllerクラスに記述されているスライディングビューで動作するコードです。

変数 'listBarBtn'は、3つの水平線の画像、同じビューの右上にあるUIBarButtonItemのボタンが好きです。

listBarBtn.target = self.revealViewController() 
listBarBtn.action = 
    #selector(SWRevealViewController.rightRevealToggle(_:)) 
self.revealViewController().rightViewRevealWidth = 293 
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 

2行目は、最初は次のようでした。私はコンパイラによってそれを変更するように提案されました。

listBarBtn.action = Selector("rightRevealToggle:") 

そして、ここでのビュー間の矢印の識別子は、次のとおりです。

が表示Controller-> Vcのimozomoスライドを公開:sw_right(ビューコントローラのセットビューコントローラを明らかにする)

が表示Controller-> Vcとを明らかに情報ナビゲーション:sw_front(ビューコントローラを表示するビューコントローラを表示)

Vc imozomo Slide->タイトルを韓国語で表示:myPage(表示ビューコントローラプッシュビューコントローラ)テストプロジェクトでは、 b UTは

enter image description here

)私は1つを必要と言って、警告メッセージを促し、私が見逃している任意のコードはありますか?


答えて

0
listBarBtn.action = #selector(SWRevealViewController.rightRevealToggle(_:)) 

結構です。

listBarBtnビューコントローラにIBOutletとして接続しますか?または ベルイメージでカバーしていますか?

UIBarButtonItemがクリック可能であることを確認しましたか?

+0

'listBarBtn'は' @IBOutlet var listBarBtn:UIBarButtonItem! 'のようにリンクされています。リストイメージはベルをカバーしません。そして、 'UIBarButtonItem'がクリック可能として設定されているかどうかをどうやって確認できますか?属性インスペクタには、タイトルが「クリック可能」または類似の属性は表示されません。 –

+0

弱い '@IBOutlet weak var listBarBtn:UIBarButtonItem!'を追加してください。 と ストーリーボードでバーボタンアイテムを選択すると、「有効」というチェックボックスオプションがあります。 – Rurouni

+0

私は 'weak'キーワードを追加しましたが、変更はありませんでした。キーワードを追加する前に、[有効]チェックボックスがオンになっていることを確認しました。 –

0

右に表示するために、セグ識別子をsw_rightに設定しましたか? sw_rearは左に表示され、sw_rightは右のメニューをスライドします。 enter image description here

+0

スライドビューの場合、yesを話している場合はyesです。もう一方はsw_frontとして設定されます。 –

関連する問題