2

我知道如何使用以下代码更改 UINavigationBar 的标题字体属性:

[self.navigationController.navigationBar setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont, nil]];

但是,我发现当我以这种方式更改字体大小时,它会影响所有视图,而不仅仅是我实现上述代码的视图。问题是,我只想更改 2 个具有长标题的视图的大小。其他视图(包括根视图)我希望保留字体大小的默认设置。我已经尝试在使用上述代码的方法中将字体大小改回正常viewDidLoad,但它不起作用。

有没有办法改变某些视图的标题字体大小?谢谢。

4

1 回答 1

8

viewWillAppear:您应该在每个视图控制器的方法中调用该代码。当您将其设置为 时viewDidLoad,该设置将被下一个视图控制器的操作覆盖。您可能还需要调用setNeedsDisplaynavigationBar 来刷新它(尽管我不这么认为)。

像这样:

- (void)viewWillAppear:(BOOL)animated
{
     [super viewWillAppear:animated];
     [self.navigationController.navigationBar setTitleTextAttributes:
          [NSDictionary dictionaryWithObjectsAndKeys:
              [UIFont boldSystemFontOfSize:16.0f],
              UITextAttributeFont,
              nil]];
}
于 2012-11-01T00:22:43.823 回答