登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

SLSlideMenu-一句话集成滑动弹出菜单

[复制链接]
来自: SongLazy 分类: iOS精品源码 上传时间: 2017-3-17 17:33:23
Tag:界面切换 视图 抽屉 动画 界面布局

项目介绍:

使用说明

空白menu,给menu添加子控件可通过代理方法

    将SLSlideMenu文件夹拖入项目  

  调用

    1> #import "SLSlideMenu.h"  
    2> [SLSlideMenu slideMenuWithFrame:self.view.frame  
                              delegate:self  
                             direction:SLSlideMenuDirectionLeft  
                           slideOffset:250  
                   allowSwipeCloseMenu:YES  
                              aboveNav:YES  
                            identifier:@"left"];  
    或者在viewdidload中:  
    [SLSlideMenu prepareSlideMenuWithFrame:self.view.frame  
                                  delegate:self  
                                 direction:SLSlideMenuSwipeDirectionLeft  
                               slideOffset:300  
                   allowSlideMenuSwipeShow:YES  
                       allowSwipeCloseMenu:YES  
                                  aboveNav:YES  
                                identifier:@"swipeLeft"];  

   自定义menu子控件:

    1> 遵守协议<SLSlideMenuProtocol>  
    2> 实现代理方法:将子控件添加到menuView  
     - (void)slideMenu:(SLSlideMenu *)slideMenu prepareSubviewsForMenuView:(UIView *)menuView {  
     UILabel *lb = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, 100, 30)];  
     lb.text = @"自定义控件";  
     lb.font = [UIFont systemFontOfSize:12];  
     lb.textColor = [UIColor darkGrayColor];  
     [menuView addSubview:lb];  
    }  

在自定义子控件时
如果一个方向只有一个弹窗可根据direction区分menu

if (slideMenu.direction == SLSlideMenuDirectionTop) {  
    UILabel *lb = [[UILabel alloc] initWithFrame:CGRectMake(10, 50, 100, 30)];  
    lb.text = @"自定义控件1";  
    lb.font = [UIFont systemFontOfSize:12];  
    lb.textColor = [UIColor darkGrayColor];  
    [menuView addSubview:lb];  
}  

if (slideMenu.direction == SLSlideMenuDirectionBottom) {  
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(70, 200, 100, 40)];  
    btn.backgroundColor = [UIColor purpleColor];  
    [btn addTarget:self  action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];  
    [menuView addSubview:btn];  
}  

如果一个方向有多个弹窗,可设置identifier来区分menu

if ([slideMenu.identifier isEqualToString:@"left"]) {  
    menuView.backgroundColor = [UIColor yellowColor];  
}  
if ([slideMenu.identifier isEqualToString:@"swipeLeft"]) {  
    menuView.backgroundColor = [UIColor greenColor];  
}  

接口说明

1> 点击弹出的场景

/**  
* 创建menu视图。此方式一般用在点击弹出的场景,不支持手势滑出。  
*param frame 如果不要盖住nav 就传self.view.frame;如果要盖住nav就传CGRectMake(0, 64, screenW, screenH)  
*param delegate 代理 可通过设置代理来配置menu的子控件  
*param direction menu弹出方位。SLSlideMenuSwipeDirectionRight代表从右边弹出  
*param slideOffset menu的宽度/高度  
*param allowSwipeCloseMenu 是否允许手势关闭  
*param aboveNav 是否盖住nav  
*param identifier 标识符 可以通过设置进行唯一标识  
*/  
+ (void)slideMenuWithFrame:(CGRect)frame  
                  delegate:(id <SLSlideMenuProtocol> )delegate  
                 direction:(SLSlideMenuDirection)direction  
               slideOffset:(CGFloat)slideOffset  
       allowSwipeCloseMenu:(BOOL)isAllow  
                  aboveNav:(BOOL)isAbove  
                identifier:(NSString * )identifier;  

2> 手势滑出的场景

/**  
* 配置menu视图。可在viewdidload中,此种方式可通过左滑右滑手势呼出。  
*param frame 如果不要盖住nav 就传self.view.frame;如果要盖住nav就传CGRectMake(0, 64, screenW, screenH)  
*param delegate 代理 可通过设置代理来配置menu的子控件  
*param direction 手势滑出方位。SLSlideMenuSwipeDirectionRight代表从右边滑出  
*param slideOffset menu的宽度/高度  
*param allowSlideMenuSwipeShow 是否允许手势滑出  
*param allowSwipeCloseMenu 是否允许手势关闭  
*param aboveNav 是否盖住nav  
*param identifier 标识符 可以通过设置进行唯一标识  
*/  
+ (void)prepareSlideMenuWithFrame:(CGRect)frame  
                         delegate:(id <SLSlideMenuProtocol> )delegate  
                        direction:(SLSlideMenuSwipeDirection)direction  
                      slideOffset:(CGFloat)slideOffset  
          allowSlideMenuSwipeShow:(BOOL)isAllowSwipeShow  
              allowSwipeCloseMenu:(BOOL)isAllowSwipeCloseMenu  
                         aboveNav:(BOOL)isAbove  
                       identifier:(NSString *)identifier;  

github地址:https://github.com/SongLazy/SLSlideMenu/tree/master

code4app

相关源码推荐:

    我来说两句
    *滑动验证:
    所有评论(46)
    kengsir 2017-3-18 12:25:55
    感谢分享,楼主V5~
    回复
    hellokenken 2017-3-18 12:26:00
    不错不错,楼主辛苦了。。。
    回复
    littleRed 2017-3-18 12:26:03
    mark,收藏了
    回复
    BlueManlove 2017-3-18 12:26:04
    感谢大神~
    回复
    phoiu 2017-3-18 12:26:42
    相当不错,感谢无私分享精神!
    回复
    AlonMessi 2017-3-18 12:26:56
    感谢大神~
    回复
    code4app热心网友 2017-3-18 23:51:45
    正需要啊,感谢楼主无私分享!
    回复
    code4app热心网友 2017-3-20 10:32:19
    我只是路过打酱油的。
    回复
    SongLazy 2017-3-20 11:04:43
    如果觉得好用请github给个星星鼓励哈 谢谢各位~
    回复
    12345下一页
    提取码:  下载次数:50 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
    668 1 50
    相关代码
      联系我们
      首页/微信公众账号投稿

      帖子代码编辑/版权问题

      QQ:435399051,742864542

      如何获得代码达人称号?

      代码贡献英雄榜
      用户名 下载数
      代码分类
      通过邮件订阅最新 Code4App 信息
      上一条 /4 下一条
      联系我们
      关闭
      合作电话:
      13802416937
      Email:
      435399051@qq.com
      商务市场合作/投稿
      问题反馈及帮助
      联系我们

      广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

      快速回复 返回顶部 返回列表