ビューコントローラの1つだけのフォントサイズを変更しようとしています。これは、より多くのテキストに適しているため、他のビューよりも小さいフォントサイズが必要になるためです。didFinishLaunchingWithOptions中にappdelegateでナビゲーションバーの属性を設定し、次にviewDidLoad中に問題のViewControllerのフォントを設定しています。ただし、画面に戻ったり、進んだりしても、ナビゲーションバーに加えた変更、つまり小さいフォントは保持されます。これを回避する方法はありますか?たとえば、ビューなどを終了するときにフォントを通常に戻しますか?
Cliffsnotes:1つのView Controllerでフォントを設定しようとしていますが、一度設定すると、すべてのViewControllerに適用されます。
コードは次のとおりです。
AppDelegateの場合:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor clearColor],
UITextAttributeTextColor,
[UIColor whiteColor],
UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"QuicksandBold-Regular" size:24.0],
UITextAttributeFont,
nil]];
ビューコントローラのviewDidLoad:
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor clearColor],
UITextAttributeTextColor,
[UIColor whiteColor],
UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"QuicksandBold-Regular" size:18.0],
UITextAttributeFont,
nil]];