方法一:
利用titleTextAttributes这个属性,它上面可以修改字体的颜色,大小阴影等.如下:
- NSDictionary *dict=[NSDictionary dictionaryWithObjects:
- [NSArray arrayWithObjects:[UIColor whiteColor],[UIFont boldSystemFontOfSize:17],[UIColor clearColor],nil]
- forKeys:
- [NSArray arrayWithObjects:UITextAttributeTextColor,UITextAttributeFont,UITextAttributeTextShadowColor,nil]];
- self.navigationController.navigationBar.titleTextAttributes=dict;
方法二:
利用self.navigationItem.titleView,使用一个自定义的label来替换这个view,达到自定义导航标题的效果.
- UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 180, 20)];
- label.text=self.title;
- label.backgroundColor=[UIColor clearColor];
- label.font=[UIFont boldSystemFontOfSize:17];
- label.textAlignment=UITextAlignmentCenter;
- label.textColor=[UIColor whiteColor];
- //self.title=filename;
- self.navigationItem.titleView=label;
iOS 5 以后 UINavigationController 可以 改变UINavigationBar导航条标题颜色和字体
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:0 green:0.7 blue:0.8 alpha:1], UITextAttributeTextColor,
[UIColor colorWithRed:0 green:0.7 blue:0.8 alpha:1], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Arial-Bold" size:0.0], UITextAttributeFont,
nil]];
其中 UITextAttributeTextColor和UITextAttributeFont 属性是文字颜色和字体