在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)

效果图如下.

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第1张图片
效果图

这个侧边菜单的框架在github上有4K的star,是用OC写的并且不能用Cocoapods集成.

所以集成第一步在把.h.m文件导入Swift项目中后按照提示需要新建一个桥接文件.(或者在setting里自己配置) 然后在桥接文件当中#import这个框架

接着我们就可以在Swift项目中使用这个框架了.桥接一个没有Cocoapods的第三方这样简单.

但是如何在Storyboard使用这个框架还是记录一下吧...

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第2张图片

一. 配置侧拉菜单和默认控制器

在需要用到侧边菜单的控制器前添加一个空的控制器并且设置它的class....

在这个效果图中,它有左侧边栏和有侧边栏(侧边栏内容展示的都是控制器的View),然后一个默认显示的控制器.所以它将指向三个控制器.

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第3张图片

因为这三个控制器的显示是框架帮我们处理的,连线的时候我们要选择.custom

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第4张图片

接着需要指示每一条线所连接的控制器的作用..在指定segue的identifier之后,,此框架会帮我们做对应的处理.

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第5张图片

框架中的identifier分别代表着三种意思

分别是 "左侧菜单" "当前显示的" "右侧菜单".... 启动程序后默认的控制器视图已经出现了.


二. 如何弹出侧拉控制器(侧拉菜单)

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第6张图片

这是封装的一个弹出侧拉菜单的方法,在控制器didload时候调用,在传入左侧或右侧BarButtonItem之后便给它们绑定了弹出事件.

如果想要添加手势侧滑出现菜单的功能只需要给当前控制器的view添加框架里已封装好的revealVC.panGesture

其中#selector(SWRevealViewController.revealToggle(_:)) 这个方法就是根据segue的identifier来选择对应弹出的左侧控制器.这是框架已经封装好的.

经测试.侧边控制器的创建是当revealToggle方法触发或者view的panGesture触发的时候,这个时候侧栏刚要进行显示...不出现的时候也不会提前加载也确实合理...不过在侧栏收起来之后侧栏控制器并没有销毁,销毁的生命周期应该同中央的控制器相同.


三. 点击侧边控制器的某一按钮,切换中央控制器.

此demo中,在点击侧栏里的某一个按钮后会切换中阿掩盖你的控制器,并且侧栏收回..这个过程不是简单的model或push,它会让当前显示的控制器从主控制器的子控制器中移除并且加入一个新的将要切换的控制器,然后侧栏收回....这些框架也帮我们做了.

点击侧栏控制器tableView中的某一个cell切换控制器.设置segue的class即可

在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接)_第7张图片

接着它就会切换到你指向的那个控制器了.

github: 框架链接

你可能感兴趣的:(在Swift的SB下完成侧滑菜单-使用SWRevealViewController(与OC桥接))