Swift 项目中使用抽屉效果基于MMDrawerController

准备用Swift撸一个项目了, 就用这个样式了. 晚上睡不好了.黑眼圈(- -)

看细节请访问我的githubhttps://github.com/Zhangjingwang1993/SwiftApp

还可以点个Star,给个鼓励.

Swift/OC 进阶交流群: 498143780

// AppDelegate.swift
var drawer = MMDrawerController()
let leftViewController = LeftViewController()
        let rightViewController = RightViewController()
        let centerViewController = ViewController()
        let centerNav = UINavigationController.init(rootViewController: centerViewController)
        // 设置左右控制器
        drawer = MMDrawerController.init(centerViewController: centerNav, leftDrawerViewController: leftViewController, rightDrawerViewController: rightViewController)
        // 侧拉距离
        drawer.maximumLeftDrawerWidth = 0.7 * width
        drawer.maximumRightDrawerWidth = 0.7 * width
        // 手势
        drawer.openDrawerGestureModeMask = MMOpenDrawerGestureMode.All
        drawer.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.All
        //设置动画,这里是设置打开侧栏透明度从0到1
        drawer.setDrawerVisualStateBlock { (drawerController, drawerSide, percentVisible) -> Void in

            var sideDrawerViewController:UIViewController?
            if(drawerSide == MMDrawerSide.Left){
                sideDrawerViewController = drawerController.leftDrawerViewController;
            }
            if(drawerSide == MMDrawerSide.Left){
                sideDrawerViewController = drawerController.rightDrawerViewController;
            }
            sideDrawerViewController?.view.alpha = percentVisible
        }

        self.window?.rootViewController = drawer

在左侧VC中的tableview 的点击方法中

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        switch (indexPath.row){
        case 0:
            let centerViewController = ViewController()
            let centerNavigationController = UINavigationController(rootViewController: centerViewController)
            let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            appDelegate.drawer.centerViewController = centerNavigationController
            appDelegate.drawer.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
        default:

            let otherViewController = TestViewController()
            let otherNavigationController = UINavigationController(rootViewController: otherViewController)
            let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            appDelegate.drawer.centerViewController = otherNavigationController
            appDelegate.drawer.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
        }
    }

时间: 2024-08-09 06:34:54

Swift 项目中使用抽屉效果基于MMDrawerController的相关文章

Swift 项目中常用的第三方框架

Swift 项目中可能用到的第三方框架 字数1004 阅读4091 评论17 喜欢93 这里记录下swift开发中可能用的框架 , 最近浏览了不少,积累在这里,以后用的时候方便查阅.顺便推荐给大家! 这里的框架都是纯swift的 , 感谢开源 ,感谢大神们 . 下拉刷新 BreakOutToRefresh 一个下拉刷新打砖块的swift库 SDRefreshView 简单易用的上拉和下拉刷新 ZLSwiftRefresh - 下拉刷新/上拉加载更多,支持自定义动画,集成简单 GearRefres

在 Swift 项目中实现侧滑菜单-利用 SWRevealViewController

你可以完全自己手动写一个侧滑菜单,但是现在在 GitHub 上面已经有很多免费的开源库了,如果不是有很特别的需求,大可不必新建一个轮子. 在这里我使用的这个第三方库名字叫做 SWRevealViewController,作者是 John Lluch.这个免费的类库提供了很方便快捷的方法去把侧滑菜单加入到你的 App 里面,而且它还提供了很多个性化的设置项.它是用 Objective-C 来写的,但是我们也可以很方便的在 Swift 项目中去使用它.你分分钟便可学会如何使用. 首先来看一下我们的

swift项目中使用OC/C的方法

假如有个OC类OCViewController : UIViewController类里有两个方法 //swift调用oc或c的混编是比较常用的,反过来的调用很少.这里只写了swift调用oc和c的方式.//OC函数声明- (void)testOC;//C函数声明void testc(); 实现:void testc(){  printf("testc.....................");} -(void)testOC{  NSLog(@"\ntestOC.....

ios开发中超简单抽屉效果(MMDrawerController)的实现

ios开发中,展示类应用通常要用到抽屉效果,由于项目需要,本人找到一个demo,缩减掉一些不常用的功能,整理出一个较短的实例. 首先需要给工程添加第三方类库 MMDrawerController: 这里讲的实例只加入了左滑抽屉.右滑和左滑只是初始化时多添加一个右视图控制器,其他方法基本相同. 下面是用手势实现抽屉的拉出和收回 1.初始化跟视图控制器时,在AppDelegate中导入头文件 #import "MMDrawerController.h" 2.初始化方法先初始化左视图和中心视

iOS中 超简单抽屉效果(MMDrawerController)的实现

ios开发中,展示类应用通常要用到抽屉效果,由于项目需要,本人找到一个demo,缩减掉一些不常用的功能,整理出一个较短的实例. 首先需要给工程添加第三方类库 MMDrawerController: 这里讲的实例只加入了左滑抽屉.右滑和左滑只是初始化时多添加一个右视图控制器,其他方法基本相同. 下面是用手势实现抽屉的拉出和收回 1.初始化跟视图控制器时,在AppDelegate中导入头文件 #import "MMDrawerController.h" 2.初始化方法先初始化左视图和中心视

利用CocoasPod在Swift项目中使用CorePlot

最近在研究可用的第三方的图标控件,然后网上搜了之后,感觉功能比较强大的就是CorePlot了,于是就开始研究如何部署到程序中.网上关于这方面的教程比较少,大部分都是objective-c的,而且历史也比较久远,后来找到一篇老外写的blog,讲述在swift中如何使用CorePlot(http://blog.alwold.com/2014/08/07/using-coreplot-with-swift-in-ios/),研究了好久,总算成功安装了.下面就一步一步介绍. 1. 建立工程 首先建立一个

在SSH项目中实现分页效果

在实现分页的时候,我使用的是数据库下面的User表,实现的效果是通过分页查询 能够将表中的数据分页显示,点击相关的按钮实现:首页.上一页.下一页.末页的显示 1新建一个dynamic web project项目 ,导入SSH项目所需要的jar antlr-2.7.7.jar c3p0-0.9.5.2.jar classmate-1.3.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.apache.comm

swift项目中嵌入oc

参考资料 需要注意的是  与oc包含swift不同的是  swift包含oc需要在桥接文件中包含要使用的oc的头文件 demo:swiftPlayOc(提取码:37c6)

Swift项目中调用Objective-C的库

这是来自stack overflow上的一个回答,更多回答请查看: http://stackoverflow.com/questions/24002369/how-to-call-objective-c-code-from-swift Using Objective-C Classes in Swift * If you have an existing class that you'd like to use, perform Step 2 and then skip to Step 5. (