NavigationBar \ ToolBar \ TabBar 存在一个灰色的分割线,其本质是一个 UIImageView。
WX20230405-012510@2x.png
可以通过查看 Debug View Hierarchy
视图的层级结构发现,其绘制的颜色为 _systemChromeShadowColor
私有属性。
扩展 UIColor
来为我所用:
extension UIColor {
/// 灰色阴影
public static var chromeShadowColor: UIColor {
guard let systemChromeShadowColor = UIColor.value(forKey: "_systemChromeShadowColor") as? UIColor
else {
return UIColor(dynamicProvider: { $0.userInterfaceStyle == .dark ? .init(white: 1, alpha: 0.15) : .init(white: 0, alpha: 0.3) })
}
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
systemChromeShadowColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
return UIColor(red: red, green: green, blue: blue, alpha: alpha)
}
}