首页 > 移动开发 > IOS > iOS——配适深色模式
嗨,这里是逻辑iOS技术号:一个让知识变得感性,让学习变得轻松!活跃的技术小站,希望给你的生活与技术带来意思不一样!关注公众号,回复“
面试题”,即可领取更多大厂面试题型哦~ 小逻辑相信我们的生活不止眼前的苟且,还有我们向往的诗和大厂高薪工作~

我们所熟悉的 UIView 、UIViewController 、UIScreen、UIWindow 都已经遵从了一个叫UITraitEnvironment的协议 。
这些类都拥有一个叫做 traitCollection 的属性,traitCollection里面有一个userInterfaceStyle属性,而颜色模式就是存在 userInterfaceStyle 中。
我们就可以通过traitCollection的userInterfaceStyle来判断当前系统的颜色模式。
self.view.backgroundColor = [UIColor systemRedColor];
UIColor *color = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) { if (traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { //深色模式下的颜色 return [UIColor blueColor]; }else { //浅色模式下的颜色 return [UIColor purpleColor]; } }]; self.view.backgroundColor = color;
self.view.backgroundColor = [UIColor colorNamed:@"testColor"];
UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleSystemMaterial]; UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect]; effectView.frame = self.view.bounds; [self.view addSubview:effectView];
[self.view setOverrideUserInterfaceStyle:UIUserInterfaceStyleLight];
-(UIUserInterfaceStyle)overrideUserInterfaceStyle { return UIUserInterfaceStyleDark;}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005484/viewspace-2791780/ ,如需转载,请注明出处,否则将追究法律责任。