界面处理

ios13 深色模式的颜色及图片适配

2020-04-21  本文已影响0人  不泯iOS

颜色的适配

通过给UIColor写一个分类UIColor+ChangeColor.h,然后直接调用:
.h文件

/// 根据系统的外观来决定限时什么颜色
/// @param lightHexStr 浅色模式下的颜色
/// @param darkHexStr 深色模式下的颜色
+ (UIColor *)lightStyleColor:(NSString *)lightHexStr darkStyleColor:(NSString *)darkHexStr;

.m文件

+ (UIColor *)lightStyleColor:(NSString *)lightHexStr darkStyleColor:(NSString *)darkHexStr{
    if (@available(iOS 13.0, *)){
        return [[UIColor alloc]initWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) {
            if (traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
                return [UIColor colorWithHexString:darkHexStr alpha:1.0];
            }else{
                return [UIColor colorWithHexString:lightHexStr alpha:1.0];
            }
        }];
    }else{
        return [UIColor colorWithHexString:lightHexStr alpha:1.0];
    }
}

调用:

label.textColor = [UIColor lightStyleColor:@"#000000" darkStyleColor:@"#ffffff"];

图片的适配

图片的适配即准备两套图片,然后导入Assets.xcassets文件中,具体操作为:

上一篇下一篇

猜你喜欢

热点阅读