iOS 15系统下无法通过原有代码移除UITabBar顶部细线问题
iOS 15 对 UITabBar 的外观体系做了调整,新增了 scrollEdgeAppearance 属性,当关联的 UIScrollView 内容滚动到与 TabBar 边缘对齐时,系统会自动切换使用该属性的配置项,之前仅设置 standardAppearance 才会出现阴影线无法移除的问题。
修复后的完整适配代码如下:
let appearance = UITabBarAppearance() appearance.shadowImage = nil appearance.shadowColor = nil appearance.backgroundEffect = nil appearance.backgroundColor = .white // 通用状态外观配置 tabBar.standardAppearance = appearance // 适配iOS15+ 滚动到边缘状态的外观 if #available(iOS 15.0, *) { tabBar.scrollEdgeAppearance = appearance }
只要保证两个外观配置的 shadow 相关属性同步设置为 nil,就能在所有系统版本上移除 TabBar 顶部的细线。
内容的提问来源于stack exchange,提问作者user2552751
相关产品推荐
相关产品推荐

