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

2020-06-01  本文已影响0人  不得不开

其实这个东西很好写,因为不想写成函数,就写了个便利构造器,但是在调用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)
        }
    }
    
}
上一篇 下一篇

猜你喜欢

热点阅读