一般情况本人都是将遇到的问题记录在电脑笔记中,这算是第一正式些博客,将我遇到问题记录一下。
问题就是自定义Tabbar与系统Tabbar重叠。
这里我是重写UITabbar、UITabbarController,将系统的Tabbar遍历删除。
在自定义的NavigationController使用-(void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated这个方法,解决popToRootiewControllerAnimated重叠的问题。
这样在除iPhone X其它机型手机没有问题,但在iPhone X上返回,Tabbar重叠,系统的没有删除。至于什么问题我不清楚。(方法都执行了)
我试着在自定义的Tabbar、TabbarController使用viewWillAppear方法中进行删除系统的Tabbar。失败了~~
后来我在viewWillLayoutSubviews这个方法中删除才成功删除。下面我的删除代码:
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
[self.tabBar.subviews enumerateObjectsUsingBlock:^(__kindof UIView * obj, NSUInteger idx, BOOL * stop) {
if ([obj isKindOfClass:[UIControl class]]) {
[obj removeFromSuperview];
}
}];
}
这里为什么viewWillAppear方法中删除失败,viewWillLayoutSubviews方法中删除成功?我也不清楚。。。(反正成功了O(∩_∩)O~)