zoukankan      html  css  js  c++  java
  • 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中删除只是保证删除一次。所以要进行多次删除。

  • 相关阅读:
    2、MapStruct 深入理解
    1、MapStruct的应用
    Spring中的注解
    java中的三个内置注解
    依赖注入集合属性
    List Set Map的特点
    为类类型的属性依赖注入值
    java常用专业术语
    Bean的作用域范围
    Bean的生命周期
  • 原文地址:https://www.cnblogs.com/OIMM/p/11994344.html
Copyright © 2011-2022 走看看