UINavigationItem
がありますが、属性インスペクターのタイトル、プロンプト、戻るボタン以外に何も見つかりません。
コードを使用してUINavigationItem
の背景色を変更するにはどうすればよいですか?またはプログラムで?
あなたはコードを通してそれを変えることができます...
Objective-Cの場合:
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
ViewDidLoadメソッドに上記の行を書き込みます。
Swiftの場合:
self.navigationController?.navigationBar.barStyle = UIBarStyle.BlackTranslucent
self.navigationController?.navigationBar.barTintColor = UIColor.redColor();
OR
self.navigationController!.navigationBar .setBackgroundImage(UIImage .new(), forBarMetrics: UIBarMetrics.Default)
self.navigationController!.navigationBar.shadowImage = UIImage .new();
self.navigationController!.navigationBar.translucent = true;
self.navigationController!.navigationBar.backgroundColor = UIColor.redColor();
あなたはあなた自身の選択で色を変えることができます。
バーのテキストを変更するには...
navigationController.navigationBar.titleTextAttributes = [UITextAttributeTextColor: UIColor.blueColor()]
リンクを参照してください.... ここ
上の画像を参照してください...あなたはこの画面のような出力が好きです... !!!
UINavigationBarのbackgroundプロパティを使用するべきではありませんが、代わりに次のようにbarTintColorを使用する必要があります。
self.navigationController.navigationBar.barTintColor = UIColor.redColor()
公式ドキュメント に書かれているように、バーの背景を変更するには、barTintColorプロパティにアクセスする必要があります。
The tint color to apply to the navigation bar background.
ボタンの色などのナビゲーションバーのスタイルを編集する場合は、barTintプロパティにアクセスする必要があります。戻るボタンなどのnavigationItemのスタイルを編集する場合は、UINavigationItemではなくbuttonプロパティを編集する必要があります。
考えられる解決策の1つは、ナビゲーションアイテムを含むビューコントローラーをナビゲーションコントローラーに埋め込み、ナビゲーションバーのプロパティの色にアクセスすることです。
// Color title 'navigationItem'
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
// Background 'navigationBar'
UINavigationBar.appearance().barTintColor = UIColor.blackColor()
// Color title 'navigationBar'
let color = UIColor.orangeColor()
self.navigationController?.navigationBar.topItem?.backBarButtonItem?.setTitleTextAttributes(
[NSForegroundColorAttributeName: color], forState: .Normal)
Swift 4
self.navigationController?.navigationBar.isTranslucent = false;
self.navigationController?.navigationBar.backgroundColor = .white