2020-02-05

hello~


关于界面的需求。我总结了以下几点。咱们可以交流看看。

我的想法是我们可以直接用系统的api去实现白色和黑色的界面。
1. 我们可以根据获取的开关状态来设置ViewController.overrideUserInterfaceStyle 属性。
  • 如果开关返回light(浅色模式),

ViewController.overrideUserInterfaceStyle=UIUserInterfaceStyleLight;

  • 如果开关返回dark(深色模式),

ViewController.overrideUserInterfaceStyle=UIUserInterfaceStyleDark;

这个变化的好处是,当模式改变的时候,是所有此控制器中的控件立即变化颜色。


2. 关于界面控件的深浅模式的适配
  • 图片,可以在Assets.xcassets中配置三种模式的图片,分别为any,dark,light 可以做到立即根据当前模式变化。

  • 文字,背景色设置时 ,新出了

[UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) {
        if (traitCollection.userInterfaceStyle==UIUserInterfaceStyleLight){
            return  [UIColor blackColor];
        }
        else{
             return  [UIColor whiteColor];
        }
    }];

这个方法,可以根据模式返回不同的自定义颜色。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。