在iOS开发中,有些APP需要适配暗黑模式,下面介绍下暗黑模式需要开发者手动管理的任务。其他系统自动管理的任务不再说明
-
不需要适配暗黑模式的话去info里面关闭即可
-
Assets中的图片要选择一下支持暗黑模式,会有两种状态的图片,浅色深色各一套,系统会自动的更改
-
颜色设置的话,UIColor新增了深色浅色方法,要注意深色只有在iOS13以上系统才生效
class func setColor(_ light: UIColor, _ drak: UIColor) -> UIColor {
var color: UIColor = light
if #available(iOS 13.0, *) {
let systemColor: UIColor = UIColor { UITraitCollection in
if UITraitCollection.userInterfaceStyle == .dark {
return drak
}
return light
}
color = systemColor
}
return color
}
- 需要监听系统暗黑模式切换的,看如下代理
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
if #available(iOS 13.0, *) {
if UITraitCollection.current.userInterfaceStyle == .dark {
}
} else {
// Fallback on earlier versions
}
}