iOS 13适配:设置UITabBarItem上title颜色

适配iOS 13发现设置UITabBarItem的颜色,未选中状态下无效为默认颜色,选中状态下有效,但是push后再返回,tabBarItem选中颜色变为系统蓝色,修改后如下:

// 适配iOS13导致的bug
if (@available(iOS 13.0, *)) {
    // iOS 13以上
    self.tabBar.tintColor = RGB_HEX(0xfb5400);
    self.tabBar.unselectedItemTintColor = RGB_HEX(0x999999);
    UITabBarItem *item = [UITabBarItem appearance];
    item.titlePositionAdjustment = UIOffsetMake(0, -2);
    [item setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} forState:UIControlStateNormal];
    [item setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12]} forState:UIControlStateSelected];
} else {
    // iOS 13以下
    UITabBarItem *item = [UITabBarItem appearance];
    item.titlePositionAdjustment = UIOffsetMake(0, -2);
    [item setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12], NSForegroundColorAttributeName:RGB_HEX(0x999999)} forState:UIControlStateNormal];
    [item setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12], NSForegroundColorAttributeName:RGB_HEX(0xfb5400)} forState:UIControlStateSelected];
}

仅供参考,欢迎补充

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容