NavigationBar \ ToolBar \ TabBar 分割线视图。

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)
    }

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容