美文网首页
【新知识】iOS 13 Dark Mode

【新知识】iOS 13 Dark Mode

作者: stoneYYY | 来源:发表于2019-08-29 14:14 被阅读0次

    在深入了解Dark Mode之前的疑问:

    1. 是否可以在单独的app中设置Dark Mode模式?

        可以。可以在plist文件中配置app是否使用Dark Mode,也可以使用ViewController的属性

    2. 是否需要在每个xib界面都应用一遍Dark Mode,如同现在对文字的国际化?

        需要将使用过的颜色或者需要使用Dark Mode的图片进行配置,可以用Assets文件来进行操作。

    3. 对 UILabel color, UIImage color (dark appearance), UIImageView and Background color 是否都需要进行更改?

        是的,系统有默认已经实现的颜色。自定义的颜色需要自己去实现。

    4. TraitCollection 是什么?

        对iOS界面的变化进行管理的一个类。许多Class继承了它的协议,如UIScreen, UIWindow, UIViewController, UIPresentationController和UIView。能够通过它知道当前界面的mode style。


    怎么适配Dark Mode

    1. 对颜色和图片配置两套不同的方案。

    - 在项目中的Assets文件中对图片和颜色进行管理。可以创建图片的light / dark 两个版本,对于颜色也推荐在这里创建自定义的颜色。

    When you need a custom color, add a Color Set asset to your app’s asset catalog and specify the light and dark variants of the color so that it can adapt to the current appearance mode. Avoid using hard-coded color values or colors that don’t adapt.

    - 在代码中进行适配。

    Dark Mode 原理是什么

    1. 使用同一资源,创建出两种模式的样式。系统根据当前选择的模式来自动获取相应样式的资源。

    2. 每次系统更新样式时,应用会调用当前所有存在的元素调用对应的一些重写方法,进行视图重绘,可以在对应的方法做相应的改变。

    配置

    全局关闭Dark Mode

    单个界面不遵循Dark Mode

    UITraitCollection

    userInterfaceStyle .dark

    using trait collection to resolve dynamic color, normally it happens automatically.

    参考:

    https://www.jianshu.com/p/7925bd51d2d6

    相关文章

      网友评论

          本文标题:【新知识】iOS 13 Dark Mode

          本文链接:https://www.haomeiwen.com/subject/inxzfctx.html