QuintGao / GKNavigationBar

GKNavigationBarViewController的分类实现,耦合度底,使用更便捷
https://www.jianshu.com/p/577755d0d69a
MIT License
323 stars 45 forks source link

导航栏显示问题 #86

Closed IAFung closed 3 years ago

IAFung commented 3 years ago

接入了一个第三方SDK,启动第三方SDK的时候,它的控制器导航被这个库给隐藏了,怎么让导航不被隐藏?

QuintGao commented 3 years ago

如果是present显示的,应该不会被隐藏 如果是push显示的,可以给第三方的控制器加个分类,然后在viewWIllAppear里面再把导航栏显示出来

IAFung commented 3 years ago

控制器在SDK内部,可以获取类名,但是没有类的声明怎么添加分类?

- (void)gk_viewWillAppear:(BOOL)animated {
    if ([self isKindOfClass:[UINavigationController class]]) return;
    if ([self isKindOfClass:[UITabBarController class]]) return;
    if ([self isKindOfClass:[UIImagePickerController class]]) return;
    if ([self isKindOfClass:[UIVideoEditorController class]]) return;
//...
}

能否加个控制器名单?设置了之后对于hook的方法直接返回?像上述处理这种

QuintGao commented 3 years ago

最新版在GKNavigationBarConfigure里面增加了个属性gk_restoreSystemNavBar,可以在未使用gk_navigationBar的控制器里面恢复系统导航栏的显示