iOS 开发TabBar中间突出简单解决办法

日常问题记录:

根据UI图标大小调整tabBarItem的ImageInsets

未设置之前显示如下图

image

加上代码

 [vc.tabBarItem setImageInsets:UIEdgeInsetsMake(-10.f, 0.f, 10.f, 0.f)];
WechatIMG11.jpeg

在iOS8系统的手机上tabbar的线 在最上层显示 需要放到最先层,测试的iOS11系统的手机 是正常的看层级图这是iOS11手机的


WechatIMG7.jpeg

WechatIMG9.jpeg

这里可以看到UIImageView在下层。

再看看iOS8系统手机的层级关系图


WechatIMG10.jpeg

这样就需要手动放到最下层了在UITabBarController的viewDidLoad打印self.tabBar.subviews为空,在viewDidAppear视图加载完成 打印是正常的。
那么就可以在这里进行代码编写了

    for (UIView *view in self.tabBar.subviews) {
        NSLog(@"===      %@",view)
        if ([NSStringFromClass([view class]) isEqualToString:@"UIImageView"]) {
            NSLog(@"===%@",view)
//            view.hidden = YES;
            [self.tabBar sendSubviewToBack:view];
        }
    }

也可以隐藏。

这种方法只适合对UI要求不高的app可用

你可能感兴趣的:(iOS 开发TabBar中间突出简单解决办法)