iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)

最近接触RESideMenu。这个侧滑框架,看git上效果图可能感觉和你的想要的差很多但相信我RESideMenu的可自定义性会变成你想要的样子

iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第1张图片
side.png

一、初始化视图

1.初始化方法都是传UIViewController类对象 
2.也就是说中间视图,俩边的侧滑视图的样子完全取决于你的Controller长什么样
3.如果不需要右面侧滑传个nil就OK了
- (id)initWithContentViewController:(UIViewController *)contentViewController
             leftMenuViewController:(UIViewController *)leftMenuViewController
            rightMenuViewController:(UIViewController *)rightMenuViewController;

二、侧滑的样式
1、大多数都是做这种主视图不缩放吧


iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第2张图片
Screenshot 2017-07-13_16-43-27.png
//解决方案 侧滑对象的contentViewScaleValue设置为1.0f ,其他小数应该知道什么效果了吧
 sideMenuViewController.contentViewScaleValue=1.0f;

2、侧边栏需要调节大小


iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第3张图片
Screenshot 2017-07-13_16-58-01.png
//解决方案 侧滑对象的contentViewInPortraitOffsetCenterX设置为100 ,则根据中线向右偏移100 向左就是负的 向右偏移半个屏幕宽你就看不见主视图了
  sideMenuViewController.contentViewInPortraitOffsetCenterX  =100;

三、阴影


iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第4张图片
Screenshot 2017-07-13_17-04-12.png

1.首先阴影的开关

//解决方案 侧滑对象的contentViewShadowEnabled bool类型
 sideMenuViewController.contentViewShadowEnabled = YES;

2.阴影的可设置项 阴影是主视图后面的一个视图

iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第5张图片
Screenshot 2017-07-13_17-11-22.png
//阴影的相关属性
@property (assign, readwrite, nonatomic) UIColor *contentViewShadowColor;//阴影颜色
@property (assign, readwrite, nonatomic) CGSize contentViewShadowOffset;//阴影偏移量 例:偏移量CGSize 中第一个参数为负向左偏移阴影出来的就多了。。。
@property (assign, readwrite, nonatomic) CGFloat contentViewShadowOpacity;//阴影透明度
@property (assign, readwrite, nonatomic) CGFloat contentViewShadowRadius;//阴影圆角

四、侧滑手势
1.是否开启侧滑手势

// 侧滑对象的panGestureEnabled 是否开启手势sideMenuViewController.panGestureEnabled=YES;

2.侧滑手势范围

// 侧滑对象的panFromEdge 是否在边界有侧滑手势 
sideMenuViewController.panFromEdge=NO;
这个属性就是开了你在大长方形范围可以侧滑导航,没开就只有那俩个小长方形范围可以侧滑出导航 (开着默认的我看才20,可以自己去改)
![Screenshot 2017-07-13_17-19-29.png](http://upload-images.jianshu.io/upload_images/1498439-f282bf50b9bde115.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 

五、视差
1.只说一个重力时差 不得不说框架考虑的真是。。。例:真机测试一下你垂直拿手机你会看到上面下沉了一小块(厉不厉害 视差啊)


iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第6张图片
80CABB5EB92CEDD0F6A71EF411F5B03F.jpg
// 侧滑对象的视差是否开启
 sideMenuViewController.parallaxEnabled=YES;//
当然视差有设置大小的属性(视差这个词感觉好高端的样子)
@property (assign, readwrite, nonatomic) IBInspectable CGFloat parallaxMenuMinimumRelativeValue;
@property (assign, readwrite, nonatomic) IBInspectable CGFloat parallaxMenuMaximumRelativeValue;
@property (assign, readwrite, nonatomic) IBInspectable CGFloat parallaxContentMinimumRelativeValue;
@property (assign, readwrite, nonatomic) IBInspectable CGFloat parallaxContentMaximumRelativeValue;

六、侧滑动画效果
1.做侧滑仿qq的需求概率比较大,没问题,这个框架提供了菜单视图弹出的动画属性设定,修改后效果:


iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子)_第7张图片
gif.gif
需设定菜单视图弹出动画属性
@property (assign, readwrite, nonatomic) CGAffineTransform menuViewControllerTransformation;

这个属性默认值是 你可以发现是缩放 所以我们只要把它改成平移动画就好了

_menuViewControllerTransformation = CGAffineTransformMakeScale(1.7f, 1.07f);

在外部设定属性 动画平移自左向右 应为默认中心视图偏移是一半 这里也平移一半距离 具体根据你的实际需要设置就好

sideMenuViewController.menuViewControllerTransformation =  CGAffineTransformMakeTranslation(-([UIScreen mainScreen].bounds.size.width / 2.f), 0);

你可能感兴趣的:(iOS开发RESideMenu侧滑属性详解(充分自定义成你想要的样子))