プログラムナビゲーションバー(タイトル)のフォントを変更するにはどうすればよいですか?私はかなり長い間検索しており、さまざまなコードを見てきましたが、私のプロジェクトではうまくいきませんでした。プログラムナビゲーションバー(Objc)のフォントを変更する(Xcode 7.3)
次は私が試したことのいくつかである:
[[UINavigationBar appearance] setTitleTextAttributes: @{
UITextAttributeTextColor: [UIColor greenColor],
UITextAttributeTextShadowColor: [UIColor redColor],
UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)],
UITextAttributeFont: [UIFont fontWithName:@"Helvetica" size:20.0f]
}];
`NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor blackColor];
shadow.shadowBlurRadius = 0.0;
shadow.shadowOffset = CGSizeMake(0.0, 2.0);
[[UINavigationBar appearance] setTitleTextAttributes: @{
NSForegroundColorAttributeName : [UIColor blackColor],
NSFontAttributeName : [UIFont fontWithName:@"Helvetica-Light" size:0.0f],
NSShadowAttributeName : shadow
}];
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], NSForegroundColorAttributeName,
[UIFont fontWithName:@"LeagueGothic-Regular" size:16.0], NSFontAttributeName,nil]];
いくつかの背景情報:navigationControllerはプログラム的に設定し、スタック内の4つのビューを保持しています。この一見単純な問題のヒント/助けは大いに感謝します。
お手数ですがお試しください。 – rmaddy
@rmaddy:提案してくれてありがとう(取ったと私は間違いなく最初からやっていたはずです!)。 – AliMar
'UINavigationBar appearance'を使うと' UINavigationBar appearance'を呼び出した後に生成される 'UINavigationBar'のすべてのインスタンスに影響します。そのため、ナビゲーションバーが作成される前にそれを呼び出すようにしてください。単一のナビゲーションバーのみに影響を与えたい場合は、 'UINavigationBar appearance'を使用しないでください。代わりに、特定のナビゲーションバーインスタンスで 'setTitleTextAttributes'を呼び出します。 – rmaddy