最近接触RESideMenu。这个侧滑框架,看git上效果图可能感觉和你的想要的差很多但相信我RESideMenu的可自定义性会变成你想要的样子
一、初始化视图
1.初始化方法都是传UIViewController类对象
2.也就是说中间视图,俩边的侧滑视图的样子完全取决于你的Controller长什么样
3.如果不需要右面侧滑传个nil就OK了
- (id)initWithContentViewController:(UIViewController *)contentViewController
leftMenuViewController:(UIViewController *)leftMenuViewController
rightMenuViewController:(UIViewController *)rightMenuViewController;
二、侧滑的样式
1、大多数都是做这种主视图不缩放吧
//解决方案 侧滑对象的contentViewScaleValue设置为1.0f ,其他小数应该知道什么效果了吧
sideMenuViewController.contentViewScaleValue=1.0f;
2、侧边栏需要调节大小
//解决方案 侧滑对象的contentViewInPortraitOffsetCenterX设置为100 ,则根据中线向右偏移100 向左就是负的 向右偏移半个屏幕宽你就看不见主视图了
sideMenuViewController.contentViewInPortraitOffsetCenterX =100;
三、阴影
1.首先阴影的开关
//解决方案 侧滑对象的contentViewShadowEnabled bool类型
sideMenuViewController.contentViewShadowEnabled = YES;
2.阴影的可设置项 阴影是主视图后面的一个视图
//阴影的相关属性
@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.只说一个重力时差 不得不说框架考虑的真是。。。例:真机测试一下你垂直拿手机你会看到上面下沉了一小块(厉不厉害 视差啊)
// 侧滑对象的视差是否开启
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的需求概率比较大,没问题,这个框架提供了菜单视图弹出的动画属性设定,修改后效果:
需设定菜单视图弹出动画属性
@property (assign, readwrite, nonatomic) CGAffineTransform menuViewControllerTransformation;
这个属性默认值是 你可以发现是缩放 所以我们只要把它改成平移动画就好了
_menuViewControllerTransformation = CGAffineTransformMakeScale(1.7f, 1.07f);
在外部设定属性 动画平移自左向右 应为默认中心视图偏移是一半 这里也平移一半距离 具体根据你的实际需要设置就好
sideMenuViewController.menuViewControllerTransformation = CGAffineTransformMakeTranslation(-([UIScreen mainScreen].bounds.size.width / 2.f), 0);