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

 更新时间:2018年06月30日 14:59:38   作者:朋也  
这篇文章主要介绍了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.jb51.net/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 字符串类型及常用方法详解总结

    Swift 字符串类型及常用方法详解总结

    Swift 字符串是一系列字符的集合。例如 "Hello, World!" 这样的有序的字符类型的值的集合,它的数据类型为 String,接下来文章将详细探讨
    2021-11-11
  • Swift仿选择电影票的效果并实现无限/自动轮播的方法

    Swift仿选择电影票的效果并实现无限/自动轮播的方法

    这篇文章主要给大家介绍了关于Swift仿选择电影票的效果并实现无限/自动轮播的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 通过示例分析Swift单例模式

    通过示例分析Swift单例模式

    这篇文章主要介绍了通过示例分析Swift单例模式的三种方法,分别是全局变量,内部变量,dispatch_once方式,有需要的小伙伴可以参考下。
    2015-06-06
  • Swift图像处理之优化照片

    Swift图像处理之优化照片

    Core Image能通过分析图片的各个属性,人脸的区域等进行自动优化图片。我们只需要调用autoAdjustmentFiltersWithOptions这个API方法获取各个自动增强滤镜来优化图片即可。不管是人物照片还是风景照均可增强效果
    2015-11-11
  • Swift 图表使用Foudation库中测量类型详解

    Swift 图表使用Foudation库中测量类型详解

    这篇文章主要为大家介绍了Swift 图表使用Foudation库中测量类型详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Swift中字典与JSON转换的方法

    Swift中字典与JSON转换的方法

    Swift中经常会遇到字典和字符串的相互转换,本篇文章主要介绍了Swift中字典与JSON转换的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • switch循环所支持的数据类型案例分析

    switch循环所支持的数据类型案例分析

    这篇文章主要介绍了switch循环所支持的数据类型,本文通过实际案例讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 深入理解Swift中的变量与常量

    深入理解Swift中的变量与常量

    本文主要是介绍Swift中最常用的常量和变量,将从“变量常量的定义”、"如何声明变量常量"、“变量和常量的命名”,"变量常量的本质区别"四个方面入手,重点介绍变量和常量的使用以及区别,希望大家在阅读完本文后都可以熟练使用它们。有需要的朋友们下面来一起学习吧。
    2017-01-01
  • Swift UILable 设置内边距实例代码

    Swift UILable 设置内边距实例代码

    本文主要介绍Swift UILable 设置内边距,这里提供示例代码供大家参考,有需要的小伙伴可以看下
    2016-07-07
  • 升级到Swift 4.0可能遇到的坑总结

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

    这篇文章主要给大家介绍了关于升级到Swift 4.0可能遇到的坑的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用swift4具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11

最新评论