根据颜色使用场景不同,定义不同的枚举值,然后区分dark模式还是light模式,返回不同的颜色值
import UIKit
extension UIColor {
enum CustomColor {
// simple text: black or white
case text
// simple background only: black or white
case bg
// add more cases
}
static func selectColor(_ color: CustomColor) -> UIColor {
if #available(iOS 13.0, *) {
let currentMode = UITraitCollection.current.userInterfaceStyle
if currentMode == .dark {
switch color {
case .text:
return UIColor.white
case .bg:
return UIColor.black
}
} else {
switch color {
case .text:
return UIColor.black
case .bg:
return UIColor.white
}
}
} else {
switch color {
case .text:
return UIColor.black
case .bg:
return UIColor.white
}
}
}
}
网友评论