web-dev-qa-db-ja.com

Swift:モーダルでナビゲーションバーを強制的に表示

Swiftプロジェクトに次のストーリーボードセグエがあります:

enter image description here

アニメーションは正しいですが、宛先のViewControllerにナビゲーションバーがありません。デスティネーションビューコントローラーにナビゲーションバーを強制したい。宛先ビューコントローラーで試しました:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true)
    navigationController?.navigationBar.hidden = false
}

または:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.setNavigationBarHidden(false, animated: true)
}

ただし、ナビゲーションバーの表示は拒否されます。

垂直方向のセグエ(「カバー垂直」など)を実行しながら、宛先のビューコントローラーに半透明のナビゲーションバーを表示するにはどうすればよいですか?

編集:宛先ビューコントローラーのマイ属性インスペクター:

enter image description here

14
Camillo Visini

ビューコントローラではなく、ナビゲーションコントローラへのセグエを作成してみてください。ナビゲーションバーは、ナビゲーションスタック内のViewControllerに対してのみ表示されます。あなたの場合、ソースView Controllerはナビゲーションスタックにあるように見えますが、提示されたViewControllerにはありません。次のようなものを試してください。

enter image description here

28
fz.