美文网首页
iOS13模式下Dark Appearance颜色适配宏实现笔记

iOS13模式下Dark Appearance颜色适配宏实现笔记

作者: 数字d | 来源:发表于2021-12-02 18:35 被阅读0次

这个没啥好说的,直接两个宏搞定,传参是rgb

#define yzColor(x,y,z) [UIColor colorWithRed: x / 255.0 green:y / 255.0 blue: z /255.0 alpha:1.0]

#define yzNeedDarkColor(x,y,z,m,n,q) \
({\
UIColor * color;\
if (@available(iOS 13.0, *)){\
color = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trainCollection) {\
if ([trainCollection userInterfaceStyle] == UIUserInterfaceStyleLight){\
                return yzColor(x,y,z);\
}else{\
return yzColor(m,n,q);}\
    }];\
}else{\
color = yzColor(x,y,z);\
};\
(color);\
})\

使用时候,x,y,z传入Dark模式下的rgb,m,n,q传入默认和Light模式下的r,g,b即可

当然还有其他比较好的实现方式,我看有一篇是用plist文件实现的记录一下https://www.jianshu.com/p/baca47fd722c

相关文章

网友评论

      本文标题:iOS13模式下Dark Appearance颜色适配宏实现笔记

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