iOS开发中适配iOS13新增的暗黑模式

用户头像
广州/UI设计师/6年前/260浏览
iOS开发中适配iOS13新增的暗黑模式

iOS开发中适配iOS13新增的暗黑模式

iOS开发中适配iOS13新增的暗黑模式

禁用App的暗黑模式

由于我们没有对iOS13新增的暗黑模式进行适配,我们可以禁用App的暗黑模式。
在info.plist文件中增加User Interface Style并设置为Light。


禁用App某些页面的暗黑模式

如果我们对App某些页面适配了暗黑模式,有些页面还没来得及适配,我们可以对某些页面禁用暗黑模式。

  self.view.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;

适配颜色

iOS13设置颜色增加了方法

/* Create a dynamic color with a provider.
 * When methods are called on this color that need color component values,
 * the provider is called with UITraitCollection.currentTraitCollection.
 * The provider should use that trait collection to decide a more fundamental UIColor to return.
 * As much as possible, use the given trait collection to make that decision, not other state.
 */
 + (UIColor *)colorWithDynamicProvider:
 (UIColor * (^)(UITraitCollection     *traitCollection))dynamicProvider 
 API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
 
 - (UIColor *)initWithDynamicProvider:
 (UIColor * (^)(UITraitCollection *traitCollection))dynamicProvider 
 API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);

我们可以通过 拓展 @interface UIColor (TBColorExtend) 在拓展类里判断当前的模式,然后设置不同模式下的颜色。

如下,在#import "UIColor+TBColorExtend.h"

//适配iOS13,暗黑模式
+(UIColor *)generateDynamicColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor;


#import "UIColor+TBColorExtend.m"

@implementation UIColor (TBColorExtend)

//适配iOS13,暗黑模式
+(UIColor *)generateDynamicColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor{
   
    if (@available(iOS 13.0, *)) {
          UIColor *dyColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) {
              if (traitCollection.userInterfaceStyle == UIUserInterfaceStyleLight) {
                  return lightColor;
              }else {
                  return darkColor;
              }
          }];
          return dyColor;
      }else{
          return lightColor;
      }
}

如此调用即可全集变换颜色。简单快捷。。。。

2
举报
|
1
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
红黑色简约现代风格|个人作品集排版简历模板
玫瑰
love玫瑰花
香盒包装设计国风国潮通用香礼盒
我要奋斗
 ps常用偷懒笔刷
浙江省区位分析图
炫光
国画水墨人物水墨画放牛娃画江南风景乡村墙绘素材
乐陶创意体验工坊标志设计
中秋佳节花好月圆
新能源腊八节海报
头发1
小青龙IP吉祥物系列插画设计
木纹贴图设计师常用
宠物纪念相册H5模板系列 · 温馨治愈系 · 三款主题
像素兵马俑怪物动画序列帧
人物网球运动、棒球运动动态插画
国画水墨江南山水画装饰画电视背景墙装饰画
汉堡插画
中国风书法汉字字体设计其他
女生半身插画
校园文化宣传栏
二十四节气图片之霜降
苏门答腊虎母子插画
你可能喜欢
相关收藏夹
大家都在看
登录注册