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

本文介绍了swift4 使用DrawerController实现侧滑功能的示例代码,分享给大家,具体如下:直接上图安装类库开源地址:https: github

本文介绍了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.haodaima.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.
  }
}

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

您可能有感兴趣的文章
Swift 4最全的新特性详细解析(推荐)

升级到Swift 4.0可能遇到的坑总结

swift4.0如何实现视频播放、屏幕旋转、倍速播放、手势调节及锁屏面板等功能实例

Swift4.1转场动画如何实现侧滑抽屉效果

Swift 4.0中如何引用3.0的第三方库