1.はじめに
UINavigationController
配下ではないViewController
に自分でUINavigationBar
を設置する場合、ナビゲーションバーがステータスバーの領域までは伸びず、大変かっこ悪い。
このような感じ。
このナビゲーションバーをステータスバーの領域まで伸ばします。
2.Storyboard
StoryboardでUINavigationBar
を設置します。
ステータスバーにはかぶせないようにします。
今回は見やすいようにStyleをBlackにしています。
3.コード
class ViewController: UIViewController, UINavigationBarDelegate {
@IBOutlet weak var navigationBar: UINavigationBar!
override func viewDidLoad() {
super.viewDidLoad()
navigationBar.delegate = self
}
func position(for bar: UIBarPositioning) -> UIBarPosition {
return .topAttached
}
}
UINavigationBarDelegate
に準拠します。
position(for:)
で.topAttached
を返します。
4.完成
こうなります。