最近接觸RESideMenu。這個(gè)側(cè)滑框架,看git上效果圖可能感覺(jué)和你的想要的差很多但相信我RESideMenu的可自定義性會(huì)變成你想要的樣子

side.png
一、初始化視圖
1.初始化方法都是傳UIViewController類對(duì)象
2.也就是說(shuō)中間視圖,倆邊的側(cè)滑視圖的樣子完全取決于你的Controller長(zhǎng)什么樣
3.如果不需要右面?zhèn)然瑐鱾€(gè)nil就OK了
- (id)initWithContentViewController:(UIViewController *)contentViewController
leftMenuViewController:(UIViewController *)leftMenuViewController
rightMenuViewController:(UIViewController *)rightMenuViewController;
二、側(cè)滑的樣式
1、大多數(shù)都是做這種主視圖不縮放吧

Screenshot 2017-07-13_16-43-27.png
//解決方案 側(cè)滑對(duì)象的contentViewScaleValue設(shè)置為1.0f ,其他小數(shù)應(yīng)該知道什么效果了吧
sideMenuViewController.contentViewScaleValue=1.0f;
2、側(cè)邊欄需要調(diào)節(jié)大小

Screenshot 2017-07-13_16-58-01.png
//解決方案 側(cè)滑對(duì)象的contentViewInPortraitOffsetCenterX設(shè)置為100 ,則根據(jù)中線向右偏移100 向左就是負(fù)的 向右偏移半個(gè)屏幕寬你就看不見(jiàn)主視圖了
sideMenuViewController.contentViewInPortraitOffsetCenterX =100;
三、陰影

Screenshot 2017-07-13_17-04-12.png
1.首先陰影的開(kāi)關(guān)
//解決方案 側(cè)滑對(duì)象的contentViewShadowEnabled bool類型
sideMenuViewController.contentViewShadowEnabled = YES;
2.陰影的可設(shè)置項(xiàng) 陰影是主視圖后面的一個(gè)視圖

Screenshot 2017-07-13_17-11-22.png
//陰影的相關(guān)屬性
@property (assign, readwrite, nonatomic) UIColor *contentViewShadowColor;//陰影顏色
@property (assign, readwrite, nonatomic) CGSize contentViewShadowOffset;//陰影偏移量 例:偏移量CGSize 中第一個(gè)參數(shù)為負(fù)向左偏移陰影出來(lái)的就多了。。。
@property (assign, readwrite, nonatomic) CGFloat contentViewShadowOpacity;//陰影透明度
@property (assign, readwrite, nonatomic) CGFloat contentViewShadowRadius;//陰影圓角
四、側(cè)滑手勢(shì)
1.是否開(kāi)啟側(cè)滑手勢(shì)
// 側(cè)滑對(duì)象的panGestureEnabled 是否開(kāi)啟手勢(shì)sideMenuViewController.panGestureEnabled=YES;
2.側(cè)滑手勢(shì)范圍
// 側(cè)滑對(duì)象的panFromEdge 是否在邊界有側(cè)滑手勢(shì)
sideMenuViewController.panFromEdge=NO;
這個(gè)屬性就是開(kāi)了你在大長(zhǎng)方形范圍可以側(cè)滑導(dǎo)航,沒(méi)開(kāi)就只有那倆個(gè)小長(zhǎng)方形范圍可以側(cè)滑出導(dǎo)航 (開(kāi)著默認(rèn)的我看才20,可以自己去改)

五、視差
1.只說(shuō)一個(gè)重力時(shí)差 不得不說(shuō)框架考慮的真是。。。例:真機(jī)測(cè)試一下你垂直拿手機(jī)你會(huì)看到上面下沉了一小塊(厲不厲害 視差?。?/p>

80CABB5EB92CEDD0F6A71EF411F5B03F.jpg
// 側(cè)滑對(duì)象的視差是否開(kāi)啟
sideMenuViewController.parallaxEnabled=YES;//
當(dāng)然視差有設(shè)置大小的屬性(視差這個(gè)詞感覺(jué)好高端的樣子)
@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;
六、側(cè)滑動(dòng)畫(huà)效果
1.做側(cè)滑仿qq的需求概率比較大,沒(méi)問(wèn)題,這個(gè)框架提供了菜單視圖彈出的動(dòng)畫(huà)屬性設(shè)定,修改后效果:

gif.gif
需設(shè)定菜單視圖彈出動(dòng)畫(huà)屬性
@property (assign, readwrite, nonatomic) CGAffineTransform menuViewControllerTransformation;
這個(gè)屬性默認(rèn)值是 你可以發(fā)現(xiàn)是縮放 所以我們只要把它改成平移動(dòng)畫(huà)就好了
_menuViewControllerTransformation = CGAffineTransformMakeScale(1.7f, 1.07f);
在外部設(shè)定屬性 動(dòng)畫(huà)平移自左向右 應(yīng)為默認(rèn)中心視圖偏移是一半 這里也平移一半距離 具體根據(jù)你的實(shí)際需要設(shè)置就好
sideMenuViewController.menuViewControllerTransformation = CGAffineTransformMakeTranslation(-([UIScreen mainScreen].bounds.size.width / 2.f), 0);