目前一般APP开发暗黑模式,一般会设置有以下功能,也是大众功能
初始默认普通模式,我们会进行手动储存当前选择的状态,普通模式或者暗黑模式或者是跟随系统。但是在选择了跟随系统之后,我们需要根据UITraitCollection.current.userInterfaceStyle 方法进行判断当前跟随的是dark模式还是light模式。
如果是按照上面的写法模式。就会出现以下的情境:
1、如果当前选择模式是普通模式。但是手机系统模式是处于暗黑模式,那么当你使用UITraitCollection.current.userInterfaceStyle进行判断时候,会发现并不是你选择的普通模式,而是获取到的是系统的模式。所以在开发的时候这块需要注意!!!
(1)首先的判断是否是手动选择的模式或者是默认模式。如果是在根据保存的当前模式进行判断就行。
(2)如果是选择的跟随系统,则需要根据UITraitCollection.current.userInterfaceStyle方法在来判断当前是啥模式,然后进行操作。
2、同理选择当前为暗黑模式,情况也同上!!
3、此外如果需要根据当前模式随时进行接口访问,则调用以下方法进行刷新就ok !!
public override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
}