2017-08-23 4 views
0

ハンバーガーメニューを表示するために第三者SlideMenuControllerSwiftを使用しようとしています。ハンバーガーメニューが最初に表示されたら、最初にviewcontrollerが表示されます。しかし、たとえばログイン画面がある場合やログイン画面の後に別の画面に移動すると、この画面でスライドメニューを表示しようとすると正しくできません。SlideMenuControllerSwiftを最初のviewcontrollerとして使用しないときの問題

SlideMenuControllerSwiftのgithubの例では、必要な画面がAppDelegateにロードされ、AppDelegate自体がdidFinishLaunchingWithOptionsから呼び出されます。この考え方に従えば、didFinishLaunchingWithOptionsというメソッドを私の選択画面(ハンバーガーメニューを表示したい場所)のviewDidLoadから呼び出すとしても、ハンバーガーメニューはその画面に表示されません。私は左上に表示されているハンバーガーメニューのロゴを取得しますが、クリックすることはできません。助けてください... :)

答えて

1

ユーザがログインしようとするとこれを試してください。

SlideMenuOptions.contentViewDrag = true 
SlideMenuOptions.leftViewWidth = self.view.frame.size.width * 0.75 

let contentVC = self.storyboard?.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController 
let leftVC = self.storyboard?.instantiateViewController(withIdentifier: "LeftViewController") as! LeftViewController 
let slideVC = SlideMenuController(mainViewController: contentVC, leftMenuViewController: leftVC) 
slideVC.view.clipsToBounds = true 
self.navigationController?.pushViewController(slideVC, animated: true)  
+0

をpushViewControllerを交換してください。左上に、ナビゲーションバーのデフォルトの戻るボタンが表示されます。 –

0

私は何の問題もなく、次のViewControllerに行くことができていますが、私は左上のハンバーガーメニューアイコンを見ることができないです、PresentViewControllerで

let rootController = UIStoryboard.init(name:"Main", bundle: nil).instantiateViewController(withIdentifier:"HomeVC") as! HomeViewController 

     SlideMenuOptions.leftViewWidth = 280.0 

     SlideMenuOptions.contentViewScale = 1.0 

     let leftMenu = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "slidingMenuNavigationController") as! UINavigationController 

     let slideMenuController = SlideMenuController(mainViewController: rootController, leftMenuViewController: leftMenu) 

     present(slideMenuController, animated: true, completion: nil) 
関連する問題