1、强制禁止暗黑模式 在info中添加User Interface Style 设置为Light
2、开始适配:去掉info中User Interface Style
写到header文件中全局调用
判断暗黑
static inline BOOL Drak_Model() {
BOOLdrakModel =NO;
if(@available(iOS13.0, *)) {
drakModel =(UITraitCollection.currentTraitCollection.userInterfaceStyle ==UIUserInterfaceStyleDark);
}
returndrakModel;
}
一、颜色适配
//颜色
staticinlineUIColor* SwitchColor(UIColor*lightColor,UIColor*darkColor) {
if(@available(iOS13.0, *)) {
lightColor =[UIColorcolorWithDynamicProvider:^UIColor*_Nonnull(UITraitCollection*_Nonnulltrait) {
if (trait.userInterfaceStyle == UIUserInterfaceStyleDark) {
returndarkColor;
}else{
returnlightColor;
}
}];
}
returnlightColor;
}
//项目主要背景色
#define mainBGColor SwitchColor( [UIColor whiteColor], [UIColor blackColor])
在需要的地方直接调用
view.backgroundColor =mainBGColor;
(注:颜色也可以在资源图片中添加)
二、图片适配
在资源文件中添加相应的图片

三、实时监听暗黑切换方法

- (void)traitCollectionDidChange:(UITraitCollection*)previousTraitCollection
网友评论