[iOS 抽屉DDMenuController] 侧边弹出库 使用
2016-08-05 14:31
375 查看
步骤如下:
1.必须先定义左侧栏,右侧栏的内容,分别为LeftViewController,RightViewController.
2.在AppDelegate中添加方法:
这样可以左滑到左侧栏,然后点击屏幕返回;右滑到右侧栏,点击屏幕返回了。
3.如果要实现按钮滑动到左侧栏,添加如下方法:
(void)showLeft:(UIButton *)sender
{
DDMenuController ddmenu = (DDMenuController )((AppDelegate *)[[UIApplication sharedApplication]delegate].window.rootViewController);
[ddmenu showLeftController:YES];
}
4.如果要实现3个页面自由滑动请自定义。
我觉得DDMenuController还有以下不好用的地方:
1.当滑动到左侧栏后就不能再滑动回到主页面了,只能点击右侧屏幕返回,用户体验稍差;
2.没有实现有远近视角的半翻页效果(看起来侧边栏侧对着用户一样),效果不够出彩;
如果你是UI大牛或小牛的话,还是建议自己定义效果吧;也可能是我对这个类的研究不够深入,欢迎指正。
目前我使用的是同事写的一个好用的类,可能会在以后的博客中给出。
1.必须先定义左侧栏,右侧栏的内容,分别为LeftViewController,RightViewController.
2.在AppDelegate中添加方法:
ViewController *viewController = [[ViewController alloc]init]; UINavigationController *nav = [[UINavigationControlleralloc]initWithRootViewController:viewController]; DDMenuController *menuController = [[DDMenuControlleralloc]initWithRootViewController:nav]; [menuController setEnableGesture:NO]; self.window.rootViewController = menuController; self.window.backgroundColor = [UIColor whiteColor]; LeftViewController *leftController = [[LeftViewController alloc]init]; menuController.leftViewController = leftController; RightViewController *rightController = [[RightViewController alloc]init]; menuController.rightViewController = rightController; [self.window makeKeyAndVisible];
这样可以左滑到左侧栏,然后点击屏幕返回;右滑到右侧栏,点击屏幕返回了。
3.如果要实现按钮滑动到左侧栏,添加如下方法:
(void)showLeft:(UIButton *)sender
{
DDMenuController ddmenu = (DDMenuController )((AppDelegate *)[[UIApplication sharedApplication]delegate].window.rootViewController);
[ddmenu showLeftController:YES];
}
4.如果要实现3个页面自由滑动请自定义。
我觉得DDMenuController还有以下不好用的地方:
1.当滑动到左侧栏后就不能再滑动回到主页面了,只能点击右侧屏幕返回,用户体验稍差;
2.没有实现有远近视角的半翻页效果(看起来侧边栏侧对着用户一样),效果不够出彩;
如果你是UI大牛或小牛的话,还是建议自己定义效果吧;也可能是我对这个类的研究不够深入,欢迎指正。
目前我使用的是同事写的一个好用的类,可能会在以后的博客中给出。
以上内容为转载
因为DDMenuController是继承自UINavigationController所以,使用了DDMenu之后, 我自己原本的naigationController 就失效了 变成了DDMenuController的样式
_window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; SYViewController *v = [[SYViewController alloc] init]; // MainNavigationController *nva = [[MainNavigationController alloc] initWithRootViewController:v]; // _window.rootViewController = nva; // [_window makeKeyWindow]; DDMenuController *viewControllerRoot = [[DDMenuController alloc] initWithRootViewController:v]; NFCViewController *nfc = [[NFCViewController alloc] initWithNibName:@"NFCViewController" bundle:nil]; viewControllerRoot.rightController = nfc; _window.rootViewController = viewControllerRoot; [_window makeKeyWindow];
所以,你可以在DDMenuController里面的init方法里, 粘贴你的navigation设置代码即可
- (id)initWithRootViewController:(UIViewController*)controller { if ((self = [super initWithRootViewController:controller])) { self.navigationBar.titleTextAttributes=@{NSForegroundColorAttributeName:[UIColor blackColor],NSFontAttributeName : [UIFont systemFontOfSize:17]}; self.navigationBar.tintColor = [Common hexStringToColor:@"589e3e"]; } return self; }
相关文章推荐
- 关于UIMenuController的使用 弹出菜单 ios开发 iphone开发 UIMenuItem
- iOS 弹出窗 UIPopoverController 的使用和 位置控制
- phoneGap在iOS上的简单使用:弹出对话框和调用相机
- iOS开发——使用Autolayout弹出键盘
- iOS UITextfield不弹出键盘 使用自定义键盘
- iOS 百度地图如何自定义弹出汽泡 使用百度官方提供的方法
- iOS Date Picker控件的简单使用(点击一个input框,弹出)
- IOS第12天(4,作业弹出键盘上加上(xib)view的处理,时间选择,代理模式使用,键盘的监听 )
- iOS 模拟器键盘不能弹出,但是可以使用键盘输入
- IOS第二天-新浪微博 - 添加搜索框,弹出下拉菜单 ,代理的使用 ,HWTabBar.h(自定义TabBar)
- [iOS基础]从使用UIPopoverController到UIViewController弹出模态
- 在iOS 8及以后使用UIAlertController 等各种弹出警告通知
- iOS开发——ActionSheet的使用与弹出选择对话框
- [iOS]监控手机虚拟键盘弹出,消失的通知简单使用
- IOS 使用CoreLocation定位 不弹出权限提示
- iOS:键盘弹出和收起的通知使用
- 关于iOS--弹出窗口的使用
- iOS开发技巧 - 使用Alerts和Action Sheets显示弹出框
- iOS - (简单平移动画/弹出View的使用)
- iOS 微信第三方分享突然不可使用,代码没有错误,只是分享时不能弹出微信客户端