iOS 13 Tabbar适配

萝らか妹 提交于 2020-03-12 01:46:22

UIFont *font = FONT(RU_WIDTH(11));

if (@available(iOS 13, *)){

//iOS 13 需要以下两行代码,这种方式,设置字体颜色,否则当控制器push到一个隐藏tabbar的页面,再返回来,字体颜色就被修改成默认色了
[[UITabBar appearance] setUnselectedItemTintColor:MediumTextColor];
[[UITabBar appearance] setTintColor:HEXCOLOR(@"#FF543A")];

//设置字体大小(iOS13 下仍然适用)
  NSDictionary *dic = @{NSFontAttributeName : font};
  [[UITabBarItem appearance] setTitleTextAttributes:dic forState:UIControlStateNormal];
  [[UITabBarItem appearance] setTitleTextAttributes:dic forState:UIControlStateSelected];

}
else{

  // 普通状态下的文字属性
  NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
  normalAttrs[NSForegroundColorAttributeName] = HEXCOLOR(@"#666666");
  normalAttrs[NSFontAttributeName] = font;

  // set the text color for selected state
  // 选中状态下的文字属性
  NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
  selectedAttrs[NSForegroundColorAttributeName] = HEXCOLOR(@"#FF543A");
  selectedAttrs[NSFontAttributeName] = font;

  // set the text Attributes
  // 设置文字属性
  UITabBarItem *tabBar = [UITabBarItem appearance];
  [tabBar setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
  [tabBar setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];

}

//创建视图,覆盖tabbar顶部黑线。
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, -1, RU_SCREEN_WIDTH, 50)];
view.backgroundColor = [UIColor whiteColor];
[_mainTabBarController.tabBar insertSubview:view atIndex:0];
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!