文章目录
ENSwiftSideMenu 从入门到放弃
三方库地址:https://github.com/Appolica/ENSwiftSideMenu
适用场景
大概看了下ENSwiftSideMenu的源码,作者写的代码还是挺简洁明了的。而且要实现的功能或者说要实现的效果也是很明确的。
实现的效果就是在一个导航栏下,同时显示两个页面,一个menuView,一个contentView。如图:

使用
使用起来也是很方便的,创建一个 ENSideMenuNavigationController 类型的导航栏控制器,向导航栏控制器中传入 menuViewController 和 contentViewController。
这是ENSideMenuNavigationController的初始化方法:
public init( menuViewController: UIViewController, contentViewController: UIViewController?) {
super.init(nibName: nil, bundle: nil)
if (contentViewController != nil) {
self.viewControllers = [contentViewController!]
}
sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menuViewController, menuPosition:.left)
view.bringSubviewToFront(navigationBar)
}
其中 menuViewController 就是左侧/右侧的菜单页控制器,contentViewController就是主内容控制器。
其他的,打开/关闭菜单,滑动,设置菜单页的宽度,位置什么的都是可以的。
分析
优点还是挺明显的,使用简单,源码也好读,使用场景很明确。
缺点就是使用场景比较单一。
整体上还是感觉不太舒服,如果只是简单的实现开源库上展示的这种效果的话,搞得有点复杂了。gitHub上有一些用OC写的侧滑栏,抽屉效果的第三方库很好。
当然了这种分页类型的实现可能每个业务不同不能统一实现的,这个开源项目提供了实现思路,要实现其他什么样的效果可以自己改源码或者借鉴作者的自己实现都可以的。
MMDrawerController
三方库地址: https://github.com/mutualmobile/MMDrawerController
概述
这是一个用户OC写的侧滑效果的三方开源库。从实现思路上来看,个人感觉MMDrawerController要比ENSwiftSideMenu好。
使用
UIViewController * leftDrawer = [[UIViewController alloc] init];
UIViewController * center = [[UIViewController alloc] init];
UIViewController * rightDrawer = [[UIViewController alloc] init];
MMDrawerController * drawerController = [[MMDrawerController alloc]
initWithCenterViewController:center
leftDrawerViewController:leftDrawer
rightDrawerViewController:rightDrawer];

分析
用了MMDrawerController之后我果断放弃了ENSwiftSideMenu。
SWRevealViewController
略…
TelerikUI.framework
国外有一个优秀的三方库,不过这个不太好找,有兴趣的可以研究一下,这个也很6的。


697

被折叠的 条评论
为什么被折叠?



