iphoneX,iphoneX Max中tabbar重影问题解决

Posted oimm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iphoneX,iphoneX Max中tabbar重影问题解决相关的知识,希望对你有一定的参考价值。

 

重影现象

技术图片

 

 方法一

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    for (UIView *tabBar in self.tabBarController.tabBar.subviews) {
        if([tabBar isKindOfClass:NSClassFromString(@"UITabBarButton")]){
            [tabBar removeFromSuperview];
        }
    }
}

 

 

方法二

// 解决iphoneX在返回时候tabb出现重影的问题
- (void)viewWillLayoutSubviews{   
    [super viewWillLayoutSubviews];   
    for (UIView *view in self.tabBar.subviews) {       
        if(![viewisKindOfClass:[MainTabBarclass]]) {           
            [viewremoveFromSuperview];       
        }   
    }
}
原理:在iphoneX,iphoneX Max中,系统的控件(似乎是)只能隐藏,不能删除,再返回的时候,系统会自动判断,添加已删除的系统控件。
这两者的代码区别是,前者我们只删除一次,后者是在前者基础上再删除一次,以防出现的时候不能删除,在viewWillAppear中删除只是保证删除一次。所以要进行多次删除。

以上是关于iphoneX,iphoneX Max中tabbar重影问题解决的主要内容,如果未能解决你的问题,请参考以下文章

猫猫分享 iOS 适配iPhoneXS Max,iPhoneXS,iPhoneXR

猫猫分享 iOS 适配iPhoneXS Max,iPhoneXS,iPhoneXR

iPhonex s ma x 手机自带的视频软件有个显示但是点开又没有是怎么回事啊?

iphonex对比iphone12屏幕对比

iPhoneX 适配总结

应用程序中的某些视图控制器是不是可以支持 iPhoneX?