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的堆排序算法实现示例
    2016-07-07
  • Swift 3.0基础学习之闭包

    Swift 3.0基础学习之闭包

    Swift引进了闭包的概念,这个与object-c的block类似,使用过block的话都知道有多方便,所以开始学Swift,先要把闭包学会,后面使用会很频繁。下面这篇文章主要介绍了Swift 3.0基础学习之闭包的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • Swift教程之方法详解

    Swift教程之方法详解

    这篇文章主要介绍了Swift教程之方法详解,方法是关联到一个特定类型的函数,类、结构、枚举所有可以定义实例方法,封装特定任务和功能处理给定类型的一个实例,需要的朋友可以参考下
    2015-01-01
  • Swift3迁移至Swift4可能遇到的问题小结

    Swift3迁移至Swift4可能遇到的问题小结

    每当看到新的编程语言我总是会有相当大的兴趣,所以下面这篇文章主要给大家介绍了关于Swift3迁移至Swift4可能遇到的问题,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起学习学习吧
    2018-06-06
  • Swift编程中用以管理内存的自动引用计数详解

    Swift编程中用以管理内存的自动引用计数详解

    这篇文章主要介绍了Swift编程中用以管理内存的自动引用计数详解,是Swift入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • Swift中循环语句中的转移语句 break 和 continue

    Swift中循环语句中的转移语句 break 和 continue

    这篇文章主要介绍了Swift中循环语句中的转移语句 break 和 continue,本文通过实例代码给大家介绍的非常详细,需要的的朋友参考下
    2016-12-12
  • Swift中风味各异的类型擦除实例详解

    Swift中风味各异的类型擦除实例详解

    你也许曾听过类型擦除,甚至也使用过标准库提供的类型擦除类型如 AnySequence,下面这篇文章主要给大家介绍了关于Swift中风味各异的类型擦除的相关资料,需要的朋友可以参考下
    2022-04-04
  • LeetCode 题解 Swift 有效的完全平方数

    LeetCode 题解 Swift 有效的完全平方数

    这篇文章主要为大家介绍了LeetCode 题解 Swift 有效的完全平方数方案示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 深入解析Swift语言编程中的可选链

    深入解析Swift语言编程中的可选链

    这篇文章主要介绍了深入解析Swift语言编程中的可选链,是Swift入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • Swift自定义iOS中的TabBarController并为其添加动画

    Swift自定义iOS中的TabBarController并为其添加动画

    这篇文章主要介绍了Swift自定义iOS中的TabBarController并为其添加动画的方法,即自定义TabBarController中的的TabBar并为自定义的TabBar增加动画效果,需要的朋友可以参考下
    2016-04-04

最新评论