ボタンを押したら横からメニューが出るという形にしたいのです。
見本のコードではnavigationcontlloのUIBarButtonItemを押したらメニューが表示されるのですがUIBarButtonItemではなくて、buttonを設置してそれを押したら表示されるようにしたいです。
しかし1のようにbuttonは表示されるのですが機能してくれません、、
試したこと
buttonを押したらprintするようにしたのですがそれも表示してくれませんでした。
どういった対処が必要になりますか?
どなたかアドバイス頂けると幸いです。
コード
class MainViewController: UIViewController { @IBOutlet var sedemenuButton : UIButton! let contentViewController = UINavigationController(rootViewController: UIViewController()) let sidemenuViewController = SidemenuViewController() var isShownSidemenu: Bool { return sidemenuViewController.parent == self } override func viewDidLoad() { super.viewDidLoad() addChild(contentViewController) view.addSubview(contentViewController.view) contentViewController.didMove(toParent: self) sidemenuViewController.delegate = self sidemenuViewController.startPanGestureRecognizing() } @IBAction func showSideMenu() { print("11111111111111111111") showSidemenu(animated: true) } func showSidemenu(contentAvailability: Bool = true, animated: Bool) { if isShownSidemenu { return } addChild(sidemenuViewController) sidemenuViewController.view.autoresizingMask = .flexibleHeight sidemenuViewController.view.frame = contentViewController.view.bounds view.insertSubview(sidemenuViewController.view, aboveSubview: contentViewController.view) sidemenuViewController.didMove(toParent: self) if contentAvailability { sidemenuViewController.showContentView(animated: animated) } } func hideSidemenu(animated: Bool) { sidemenuViewController.hideContentView(animated: animated, completion: { (_) in self.sidemenuViewController.willMove(toParent: nil) self.sidemenuViewController.removeFromParent() self.sidemenuViewController.view.removeFromSuperview() }) } } extension MainViewController: SidemenuViewControllerDelegate { func parentViewControllerForSidemenuViewController(_ sidemenuViewController: SidemenuViewController) -> UIViewController { return self } func shouldPresentForSidemenuViewController(_ sidemenuViewController: SidemenuViewController) -> Bool { /* You can specify sidemenu availability */ return true } func sidemenuViewControllerDidRequestShowing(_ sidemenuViewController: SidemenuViewController, contentAvailability: Bool, animated: Bool) { showSidemenu(contentAvailability: contentAvailability, animated: animated) } func sidemenuViewControllerDidRequestHiding(_ sidemenuViewController: SidemenuViewController, animated: Bool) { hideSidemenu(animated: animated) } func sidemenuViewController(_ sidemenuViewController: SidemenuViewController, didSelectItemAt indexPath: IndexPath) { hideSidemenu(animated: true) } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。