WMZDropDownMenu
WMZDropDownMenu copied to clipboard
下面的代码,当菜单不在当前页面的时候,刷新菜单 UI,会导致崩溃在 ViewDidDisappear 里面
我感觉通过getCurrentVC
方法,获取到的Controller 不一定是菜单所在的 Controller,也许是我用错了,希望作者能提出指导
代码位置:WMZDropDownMenu.m 文件的 menuTitle 方法里面,232 行
if([[WMZDropMenuTool getCurrentVC] respondsToSelector:@selector(viewWillDisappear:)] ||
[[WMZDropMenuTool getCurrentVC] respondsToSelector:@selector(viewDidDisappear:)]){
///hook监听当前控制器消失
@MenuWeakSelf(self);
[[WMZDropMenuTool getCurrentVC] aspect_hookSelector:@selector(viewWillDisappear:) withOptions:AspectOptionAutomaticRemoval usingBlock:^(id<AspectInfo> aspectInfo){
@MenuStrongSelf(self);
if(!self.close){
self.hook = YES;
[self closeView];
self.hook = NO;
}
} error:NULL];
[[WMZDropMenuTool getCurrentVC] aspect_hookSelector:@selector(viewDidDisappear:) withOptions:AspectOptionAutomaticRemoval usingBlock:^(id<AspectInfo> aspectInfo){
@MenuStrongSelf(self);
if(!self.close){
self.hook = YES;
[self closeView];
self.hook = NO;
}
} error:NULL];
}