我建立了一个工作正常的幻灯片菜单。每个按钮都指向一个新的视图控制器。我希望每个视图控制器都具有相同的滑动菜单,而不是单击子视图视图控制器的后退按钮以返回到主视图控制器以切换到下一个功能。

我想在下图中将“
ios - 如何在每个 Controller  View 上重新使用幻灯片菜单的条形按钮-LMLPHP

我读过Sliding Menu on every view controller in swift,但仍不清楚。我是xcode / ios的新手。

我找不到有关如何执行此操作的好文档。我在哪里可以找到我想要做的文档,tuto?

最佳答案

步骤1

创建一个名称为“ BaseMenuController”的类,并通过子类UIViewController进行继承。

第2步

在BaseMenuController中,粘贴以下代码。

import UIKit

class BaseMenuController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        addMenuBarButtonItem()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func addMenuBarButtonItem() {
        let image = UIImage(named: "side_menuImage")
        let backItem = UIBarButtonItem(image: image,
                                       style: .plain,
                                       target: self,
                                       action: #selector(showSideMenu))

        self.navigationItem.leftBarButtonItem = backItem

    }

    @objc func showSideMenu(){
    if (UIApplication.shared.userInterfaceLayoutDirection == .leftToRight)       {
        self.sideMenuViewController.presentLeftMenuViewController()
    }else{
        self.sideMenuViewController.presentRightMenuViewController()
    }

   }
}


第三步

现在,您的控制器类已准备就绪。创建新的Controller类时,只需要继承BaseMenuController即可。将BaseMenuController类作为子类。

import UIKit

class UIViewController:BaseMenuController  {


    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

10-08 07:48