1. 程式人生 > >MMDrawerController第三方抽屜褲 如何開啟和關閉側滑

MMDrawerController第三方抽屜褲 如何開啟和關閉側滑

1.首先按住command點選MMDrawerController 進入其.h檔案,在.h檔案中新增可讀寫的BOOL型函式。

@property (nonatomic,assign)BOOL XZBBOOL;


2.在進入MMDrawerController.m檔案 找到 

-(BOOL)isPointContainedWithinCenterViewContentRect:(CGPoint)point  此函式整體換為下面的函式

替換為:

-(BOOL)isPointContainedWithinCenterViewContentRect:(CGPoint)point{

    CGRect

centerViewContentRect = self.centerContainerView.frame;

    centerViewContentRect = CGRectIntersection(centerViewContentRect,self.childControllerContainerView.bounds);

    if (self.XZBBOOL) {

        return (CGRectContainsPoint(centerViewContentRect, point) &&[self isPointContainedWithinNavigationRect

:point] == NO);

    }else{

        return NO;

    }

}


3.在你使用時 得到MMDrawerController的指標 

例如剛建立時 

MMDrawerController * drawerController = [[MMDrawerControlleralloc]

                                             initWithCenterViewController:_mainViewController

                                             leftDrawerViewController

:_leftDrawer

                                             rightDrawerViewController:nil];

    drawerController.XZBBOOL = YES;//設為YES是可以側滑

如果在二級介面甚至三級介面,會有手勢衝突這時我們可以如下:

注:可以給所有的二級甚至三級介面共同期繼承一個基類,在基類中實現。 當返回到一級介面別忘了再重新開啟呦!

- (void)viewWillAppear:(BOOL)animated

{

    [super viewWillAppear:animated];

AppDelegate *app = (AppDelegate *)[UIApplicationsharedApplication].delegate;

MMDrawerController * drawerController = (MMDrawerController *)app.window.rootViewController;

    drawerController.XZBBOOL = NO;

}