完美解决RESideMenu二级界面能侧滑的bug(即在二级页面

2019-10-14  本文已影响0人  小鲜肉老腊肉都是肉

1.问题描述:

最近项目中有使用RESideMenu侧滑框架,项目需求是这样的:在首页上侧滑可以出现侧滑菜单,而在从首页进入的二级页面,侧滑应该pop回上级页面,如图1。

image

但是问题来了,使用了RESideMenu框架后,在二级页面侧滑也会出现侧滑菜单,如图2。

image

2.解决过程

解决方法是用的@icetime17的,只是代码放的位置不太一样,他的RootViewController是继承自RESideMenu的,而我是自己写了个RESideMenu的分类进行设置的。

关键代码就👇几句:

-(void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(disableRESideMenu) name:@"disableRESideMenu" object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(enableRESideMenu) name:@"enableRESideMenu" object:nil];

}

{ self.panGestureEnabled = YES;}

{ self.panGestureEnabled = NO;}

分类设置完后,在需要关闭侧滑菜单的界面执行👇

[[NSNotificationCenter defaultCenter] postNotificationName:@"disableRESideMenu" object:nil];

为什么我要把代码放在viewWillAppear里呢?

尝试放在viewDidLoad里面,但是程序运行起来黑屏;

尝试放在+(void)load方法里面,但是崩在发送通知的方法,提示找不到disableRESideMenu方法,为什么呢?因为+(void)load是类方法,不能在里面直接使用对象方法- (void)enableRESideMenu。

因此,我尝试了一下放在viewWillAppear里面。。。完美解决!!!

上一篇 下一篇

猜你喜欢

热点阅读