tabbar和navigationbar和statubar容易搞混,以前做过后面又忘记了。做个笔记。
- 改变tabbar的
选中
的item的字体
颜色self.tabbar.tintColor = [UIColor redColor];
- 改变tabbar
未选中
的item的字体
颜色self.tabbar.unselectedItemTintColor = [UIColor yellowColor];
- 改变tabbar的背景颜色
- 方法1
self.tabbar.barTintColor = [UIColor redColor]; self.tabbar.translucent = NO;
- 方法2
[[UITabBar appearance] setBackgroundImage:[UIImage imageWithColor:[UIColor redColor]]];
-
self.tabbar.translucent = NO
干了什么- 是
YES
的时候,tabbar
的视图层级是
UITabBar
-->UIBarBackground
-->UIVisualEffectView
-->UIVisualEffectBackdropView
-->UIVisualEffectSubview
-->UIVisualEffectSubview (决定tabbar颜色的视图)
- 是
NO
的时候,tabbar
的视图层级是
UITabBar
-->UIBarBackground
-->UIImageView (决定tabbar颜色的视图)
-
YES
还是NO
,从颜色效果上,我没看出区别
- 是
- 使用
方法2
的时候,视图层级
和self.tabbar.translucent = NO
一摸一样,都是3层 - 改变
tabbar
的背景颜色,又看到下面这个方法
这个方法只是改变tabbar部分的背景颜色,tabbar到底部的安全区UIView *color_view = [[UIView alloc]initWithFrame:self.tabBar.bounds]; color_view.backgroundColor = [UIColor redColor]; [self.tabBar insertSubview:color_view atIndex:0];
safeArea
有一条是改变不了的。比如使用上面的方法设置tabbar
为redcolor
,tabbar下面的安全区有一条留白。
网友评论