美文网首页
关于iOS13中UITabBar无法隐藏顶部边线的问题

关于iOS13中UITabBar无法隐藏顶部边线的问题

作者: 健了个平_24 | 来源:发表于2019-12-13 16:16 被阅读0次

    以前可以通过设置个空图片实现隐藏顶部边线

    [[UITabBar appearance] setShadowImage:[UIImage new]];
    

    但到了iOS13就无效,最好的做法就是新建个UITabBar子类重写layoutSubviews方法,直接设为透明就OK了:

    // 在这里设置是了防止系统的重置(重新布局有时候会重现,只设置一次不保险)
    - (void)layoutSubviews {
        [super layoutSubviews];
    
        for (NSInteger i = 0; i < self.subviews.count; i++) {
            UIView *subview = self.subviews[i];
    
            // 第一个就是顶部边线
            // 既然移除不了系统那条边,那就设为透明吧
            if (i == 0) {
                for (UIView *imgView in subview.subviews) {
                    imgView.alpha = 0;
                }
            }
    
            // 其他UITabBarButton的设置...
        }
    }
    

    相关文章

      网友评论

          本文标题:关于iOS13中UITabBar无法隐藏顶部边线的问题

          本文链接:https://www.haomeiwen.com/subject/hlnfnctx.html