最近着手适配iOS暗黑模式,发现TabBar图标比较奇特,居然不支持Dark模式的图片
经过一番折腾,找到了解决方法
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection{
[super traitCollectionDidChange:previousTraitCollection];
if (@available(iOS 12.0, *)) {
TCMNavigationController *navigationController = self.childViewControllers[2];
UIImage *newImage = nil;
if (previousTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
newImage = [UIImage imageNamed:@"icon_tab_normal"];
}else{
newImage = [UIImage imageNamed:@"icon_tab_dark"];
}
navigationController.tabBarItem.image = [newImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
}
注意,设置图片时务必使用一下方法:
[newImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
希望对你有所帮助~