苹果在iOS13推出了一种暗黑模式:可以在系统设置中,把iPhone手机展示模式变成暗黑风格;
暗黑模式是相对正常模式来说的,iOS13之前的iPhone手机模式都是正常模式.
暗黑模式的适配主要是在2个方面:
颜色和图片;
在暗黑模式和正常模式下,可以动态展示不同颜色和风格的照片;
颜色的适配(Colors)
iOS13新加了一种形如:UIColor *systemRedColor的系统颜色;
但不是设置了systemColor所有颜色在正常模式和暗黑模式都有2种颜色; 如红色,在两种模式下依然会是红色.
代码自定义动态颜色
1 | //方法1:类方法 |
Assets.xcassets添加自定义动态颜色
添加颜色
支持暗黑模式和正常模式:最右边选择Any,Dark.
颜色命名为color1,
正常模式下会读取左边的颜色,暗黑模式下会读取右边的颜色.
1 | //在Assets.xcassets中和图片一样添加color,可以根据以下方法读取自定义的颜色 |
图片的适配
Assets.xcassets添加图片
在最右边选择Any,Dark
会出现如下图,把对应的图片拉进去即可:
把图片放进xcode工程适配
正常模式和暗黑模式的图片命名分开,然后判断当前app的是否是暗黑模式,来读取不同的图片资源.
1 | UITraitCollection *traitCollection = [[UITraitCollection alloc]init]; |
苹果API自定义的动态颜色
1 | //设置这种动态颜色,不会造成有正常模式转成暗黑模式时,会出现看不见的情况 |