• 分类

  • 重置

swift4 使用DrawerController实现侧滑菜单功能的示例代码

    本文介绍了swift4 使用DrawerController实现侧滑功能的示例代码,分享给大家,具体如下:

    直接上图

    安装

    类库开源地址:https://github.com/sascha/DrawerController

    可惜的是,它已经不维护了,很好用的一个侧滑实现

    
    pod 'DrawerController'

    新建侧滑视图

    
    import UIKit
    
    // 这个类就是一个 UIViewController 可以在里面写任何你想写的东西
    class LeftViewController: UIViewController {
    
      override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "Left Menu"
        self.view.backgroundColor = .white
      }
    
      override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
      }
    }
    
    

    修改 AppDelegate 类

    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        
      let drawerController = DrawerController(centerViewController: UINavigationController(rootViewController: ViewController()), leftDrawerViewController: UINavigationController(rootViewController: LeftViewController()))
      
      // 侧滑打开宽度
      drawerController.maximumLeftDrawerWidth = 250
      // 打开侧滑手势
      drawerController.openDrawerGestureModeMask = .all
      // 关闭侧滑手势
      drawerController.closeDrawerGestureModeMask = .all
      
      self.window?.rootViewController = drawerController
      return true
    }
    

    Navigation上添加按钮

    icon可以在这里下载:https://www.lingkb.com/softs/578475.html

    修改 ViewController

    
    import UIKit
    
    class ViewController: UIViewController {
    
      override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "DrawerDemo"
        self.view.backgroundColor = .white
        
        // 给导航条添加一个按钮
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "baseline-menu-48px"), style: .plain, target: self, action: #selector(ViewController.openLeftMenu))
        
        self.navigationController?.navigationBar.barStyle = .default
        // menu icon默认是蓝色,下面将其改成黑色的
        self.navigationController?.navigationBar.tintColor = .black
      }
      
      @objc func openLeftMenu() {
        // 打开drawerController
        self.navigationController?.evo_drawerController?.toggleLeftDrawerSide(animated: true, completion: nil)
      }
    
      override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
      }
    }
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持lingkb。