我知道如何使用以下代码更改UINavigationBar的标题字体属性:
[self.navigationController.navigationBar setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont, nil]];
但是,我发现当我以这种方式更改字体大小时,它会影响所有视图,而不仅仅是我实现上述代码的视图。问题是,我想改变只有2个具有长标题的视图的大小。其他视图(包括根视图)我希望保留字体大小的默认设置。我尝试使用上面的代码在viewDidLoad
方法中将字体大小更改回正常,但它不起作用。
有没有办法更改某些视图的标题字体大小?感谢。
答案 0 :(得分:8)
您应该在每个视图控制器的viewWillAppear:
方法中调用该代码。在viewDidLoad
中设置时,设置会被下一个视图控制器的操作覆盖。您可能还需要在navigationBar上调用setNeedsDisplay
来刷新它(尽管我不相信)。
像这样:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController.navigationBar setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont boldSystemFontOfSize:16.0f],
UITextAttributeFont,
nil]];
}