项目开发中,我们会碰到自己定义title文字样式的需求,系统的apiself.title
很难对其进行自定义,以前的api有个很复杂的字典属性可以对其进行修改,这里不对其进行解释,我们来看一个简单的修改其样式的方法
我们看自己的ViewController.m文件
- (void)viewDidLoad
{
[super viewDidLoad];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 40)];
self.navigationItem.titleView = label;
label.text = @"主页";
label.textAlignment = 1;
label.font = [UIFont systemFontOfSize:22];
label.textColor = [UIColor whiteColor];
}
其实就是给navigationItem指定了一个titleView,注意,这里用的是 self.navigationItem.titleView = label;
而不是
[self.navigationItem.titleView addSubview label]
如果想要所有的ViewController的title都有同样的样式,那就创建一个BasicViewController继承ViewController 然后给他写上面的代码,然后留一个接口,用来传Title内容即可。
用上面的方法,还可以成功避免tabItem上面的title 和 第一个加到tabBarViewController 的ViewController的title 相冲突的问题。
时间: 2024-10-09 22:06:07