适配iOS13暗黑模式动态返回颜色

其实这个东西很好写,因为不想写成函数,就写了个便利构造器,但是在调用self.init()的时候xcode11死活不提示代码,我一直以为是错误的写法,最后是写了个静态函数然后一点一点改成构造器函数。

如果有大神知道怎么让写便利构造器的时候在调用init的时候有代码提示也可以指点一下我。

import UIKit


extension UIColor {
    
    /// 适配暗黑模式
    /// - Parameters:
    ///   - defaultColor: 默认状态颜色
    ///   - darkColor: 暗黑模式颜色
    convenience init(_ defaultColor: UIColor, darkColor: UIColor? = nil) {
        if #available(iOS 13.0, *) {
            self.init { (style) -> UIColor in
                if style.userInterfaceStyle == .dark {
                    return darkColor ?? defaultColor
                }
                return defaultColor
            }
        } else {
            self.init(cgColor: defaultColor.cgColor)
        }
    }
    
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。