码迷,mamicode.com
首页 > 其他好文 > 详细

RESideMenu的使用

时间:2015-08-01 01:01:42      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

RESideMenu的使用

简介

不多说,直接上图看效果,RESideMenu就是这种点击一下左上角或者右上角就显示出菜单,而原来的界面进行缩放的效果。开源库的下载链接为https://github.com/romaonthego/RESideMenu

技术分享

使用说明

1.先下载开源库将库导入至工程。

技术分享

2.创建主界面和目录界面,这里我创建了两个ViewController,一个是用以显示主界面PostDisplayViewController,另一个用以显示侧边目录,叫MenuViewController。

技术分享

3.在AppDelegate.h中声明RESideMenu委托

@interface AppDelegate : UIResponder <UIApplicationDelegate,RESideMenuDelegate>

@property (strong, nonatomic) UIWindow *window;


@end

4.在AppDelegate.m中进行如下设置,这里的主要工作有以下几点

  • 告诉RESideMenu内容界面是哪个,左目录界面以及右目录界面(示例代码未加入右目录,读者可自行添加);

  • 界面背景以及设置显示左右目录时,内容界面缩放后的阴影效果;

  • 设置移动手势以及在显示和关闭目录时的需要做的动作。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    
    //帖子界面,用导航视图控制器来显示,方便管理跳转
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:[[PostDisplayViewController alloc] init]];
    //菜单界面
    MenuViewController *menuViewController = [[MenuViewController alloc] init];
    //加入至sizeMenu中
    RESideMenu *sideMenuViewController = [[RESideMenu alloc] initWithContentViewController:navigationController leftMenuViewController:menuViewController rightMenuViewController:nil];
    
    /** 属性设置 */
    //背景图像,左右目录都会使用这个图像
    sideMenuViewController.backgroundImage = [UIImage imageNamed:@"Stars"];
    
    //设置StatusBarStyle类型
    sideMenuViewController.menuPreferredStatusBarStyle = UIStatusBarStyleLightContent;
    //设置委托
    sideMenuViewController.delegate = self;
    //设置阴影颜色
    sideMenuViewController.contentViewShadowColor = [UIColor blueColor];
    //设置阴影偏移
    sideMenuViewController.contentViewShadowOffset = CGSizeMake(0, 0);
    //设置阴影透明度
    sideMenuViewController.contentViewShadowOpacity = 0.6;
    //设置阴影半径
    sideMenuViewController.contentViewShadowRadius = 12;
    //开启阴影效果
    sideMenuViewController.contentViewShadowEnabled = YES;
    
    //将sideMenuViewCOntroller设置为根视图
    self.window.rootViewController = sideMenuViewController;
    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

有需求可以实现以下委托

//检测拖动手势
- (void)sideMenu:(RESideMenu *)sideMenu didRecognizePanGesture:(UIPanGestureRecognizer *)recognizer;
//目录显示前
- (void)sideMenu:(RESideMenu *)sideMenu willShowMenuViewController:(UIViewController *)menuViewController;
//目录显示后
- (void)sideMenu:(RESideMenu *)sideMenu didShowMenuViewController:(UIViewController *)menuViewController;
//目录隐藏前
- (void)sideMenu:(RESideMenu *)sideMenu willHideMenuViewController:(UIViewController *)menuViewController;
//目录隐藏后
- (void)sideMenu:(RESideMenu *)sideMenu didHideMenuViewController:(UIViewController *)menuViewController;
  1. 在主视图加入左右按键用以显示左右目录,以下代码只演示了如何显示左目录,右目录的显示只需要将selector换成presentRightMenuViewController: 即可。

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    //设置主视图信息
    self.title = @"内容界面";
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"左目录" style:UIBarButtonItemStylePlain target:self action:@selector(presentLeftMenuViewController:)];
}

RESideMenu的使用

标签:

原文地址:http://www.cnblogs.com/limaofuyuanzhang/p/4693452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!