你的位置:首页 > 操作系统

[操作系统]UINavigationController与UITabbarController的样式


之前虽然也手写过这两中视图控制器,但是更多的还是使用SB来创建,最近发现了一些问题,现在总结一下。

 

1.改变UINavigationBar的颜色

在UINavigationController中,之前只需要设置UINavigationController.navigationBar.tintColor 就可以改变navigationBar的颜色了,在最新的API中苹果对这个属性就行了修改了。

添加了一个属性barTintColor,以前的tintColor不再对bar的颜色产生影响,改变颜色需要用barTintColor.

 

2.设置UINavigationBar的title和UITabBarController下面item的文字为不同的标题

当一个视图控制器是UINavigationController的当前控制器时,如果设置了self.title属性,那么当前视图的navigationBar的title就是会自动取self.title的值。如果当前视图控制器还在tabBarController中,那么下面item的title也会取self.title,如果想要bar上面的文字和item的文字不一样,那么需要单独的对bar上面的文字设定,即除了设置self.title 意外还要在设置self.navigationItem.title的值,来吧bar上面的标题改回来,还可以单独设置item上的文字,self.navigationController.tabbarItem.title对该属性修改即可。

 

3.自定义UINavigationBar中间视图

UINavigationBar中有个titleView属性,可以定制视图来放置在中间位置,比如可以把等待指示器放在这里。

 

4.改变UINavigationBar title的文字样式

UINavigationBar中有个属性为titleTextAttributes,比如要把文字设置为18号红色,那么可以用NSFontAttributeName 和 NSForegroundColorAttributeName来分别设置文字样式和颜色。