IOS13 暗黑模式适配

今天,我一直跟进的app对接人突然截图给我,说出现bug了。当时我心里有一万个草泥马路过,当时我正在学校参加毕业典礼。好了不多说,经过网上的查证发现适配暗黑模式还是非常简单的。主要分为三方面:背景色、字体色以及图片颜色的适配。在参考的过程中也不要照本宣科,根据自己的实际情况来。

if (@available(iOS 13.0, *)) {
            if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
                NSLog(@"暗黑模式qwe");
                [leftButton setImage:[UIImage imageNamed:@"CHXIM.bundle/leftwhite.png"] forState:UIControlStateNormal];
            }else{
                 NSLog(@"不是暗黑模式qwe");
                [leftButton setImage:[UIImage imageNamed:@"CHXIM.bundle/left.png"] forState:UIControlStateNormal];
            }
    }else{
        NSLog(@"不是iOS13 所以不需要暗黑模式");
      [leftButton setImage:[UIImage imageNamed:@"CHXIM.bundle/left.png"] forState:UIControlStateNormal];
    }
-(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
    NSLog(@"traitCollectionDidChange");
    if (@available(iOS 13.0, *)) {
        //创建动态 bgColor
        UIColor *bgColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) {
            if (traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
                 NSLog(@"暗黑模式");
                return [UIColor blackColor];
            } else {
                 NSLog(@"不是暗黑模式");
                return [UIColor colorWithRed:237/255.0 green:237/255.0 blue:237/255.0 alpha:1.0];
            }
        }];
        self.mainTableView.backgroundColor=bgColor;
        self.navigationController.navigationBar.backgroundColor=bgColor;
        self.forSearchTableView.backgroundColor=bgColor;
    } else {
        NSLog(@"不是iOS13 所以不需要暗黑模式");
        self.mainTableView.backgroundColor = [UIColor colorWithRed:237/255.0 green:237/255.0 blue:237/255.0 alpha:1.0];
        self.forSearchTableView.backgroundColor = [UIColor colorWithRed:237/255.0 green:237/255.0 blue:237/255.0 alpha:1.0];
    }
}

此俩种方法均可,根据自己的需求挑选!!!

谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值