最新項目中需要做一個類似小紅書的側(cè)滑抽屜效果,經(jīng)過各種實驗矢腻,發(fā)現(xiàn)MMDrawerController用著不錯敲茄。
大致思路如下:
打開左邊抽屜,按鈕后左邊push出一個新控制器副签,但是這個控制器仍然顯示在左邊的抽屜里的
1:用cocoapods pod MMDrawerController第三方
pod 'MMDrawerController'
2:在AppDelegate中 didFinishLaunchingWithOptions 方法中設(shè)置:
3:在希望彈出的viewcontroller中做相關(guān)的設(shè)置
pragma mark - Life Cycle Methods
-
(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;[self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModePanningNavigationBar];
} (void)viewWillDisappear:(BOOL)animated{
[super viewWillAppear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
//關(guān)閉抽屜模式
[self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone];
self.isReash = NO;
}
通過按鈕的點擊拉出抽屜效果:
[weakSelf.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
關(guān)閉抽屜效果:
//當我們push成功之后遥椿,關(guān)閉我們的抽屜
[self.mm_drawerController closeDrawerAnimated:YES completion:^(BOOL finished) {
//設(shè)置打開抽屜模式為MMOpenDrawerGestureModeNone基矮,也就是沒有任何效果。
[self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone];
}];
好了冠场,簡單的抽屜效果就實現(xiàn)了