1. ホーム
  2. アイオス

[解決済み】UINavigationBarを透明にする。

2022-04-16 23:38:16

質問

を作るにはどうしたらいいのでしょうか? UINavigationBarの透明化 ? バーアイテムは表示したままにしたいのですが。

どうすればいいですか?

iOS 7+でこれを実現するにはどうしたらいいか悩んでいる人がいたら、ここに解決策があります(iOS 6にも対応しています)。

Objective-Cの場合

[self.navigationBar setBackgroundImage:[UIImage new]
                         forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;

swift 3 (iOS 10)の場合

self.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationBar.shadowImage = UIImage()
self.navigationBar.isTranslucent = true

swift 2の場合

self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self.navigationBar.shadowImage = UIImage()
self.navigationBar.translucent = true


ディスカッション

設定方法 translucent から YES で説明した動作により、ナビゲーションバーに表示させることができます。 UINavigationBar のドキュメントを参照してください。ここでは、該当する断片を報告します。

このプロパティを YES の場合、ナビゲーション・バーは、不透明なカスタム背景画像を持つ画像に 1.0 未満のシステム不透明度を適用します。