IOS 暗黑模式下状态判断问题

目前一般APP开发暗黑模式,一般会设置有以下功能,也是大众功能

 

初始默认普通模式,我们会进行手动储存当前选择的状态,普通模式或者暗黑模式或者是跟随系统。但是在选择了跟随系统之后,我们需要根据UITraitCollection.current.userInterfaceStyle 方法进行判断当前跟随的是dark模式还是light模式。

如果是按照上面的写法模式。就会出现以下的情境:

1、如果当前选择模式是普通模式。但是手机系统模式是处于暗黑模式,那么当你使用UITraitCollection.current.userInterfaceStyle进行判断时候,会发现并不是你选择的普通模式,而是获取到的是系统的模式。所以在开发的时候这块需要注意!!!

(1)首先的判断是否是手动选择的模式或者是默认模式。如果是在根据保存的当前模式进行判断就行。

(2)如果是选择的跟随系统,则需要根据UITraitCollection.current.userInterfaceStyle方法在来判断当前是啥模式,然后进行操作。

2、同理选择当前为暗黑模式,情况也同上!!

3、此外如果需要根据当前模式随时进行接口访问,则调用以下方法进行刷新就ok !!

public override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {        

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值