以前可以通过设置个空图片实现隐藏顶部边线
[[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的设置...
}
}
网友评论