SwiftUIのNavigationViewで、NavigationBarが消えなくてハマりましたのでメモ
Sponsor Link
目次
上記の通り、.navigationBarHidden(true)としても、タイトルバーは表示されてしまいます。
タイトルは表示されてしまう(1)
1 2 3 |
.navigationBarHidden(true) |
タイトルの文字列を明示的に””にセットしないといけないみたいです。
タイトル文字列を空文字にセット
1 2 3 |
.navigationBarTitle("") |
ただし、.navigationBarTitle(“”) だけでは、ダメです。
上記の.navigationBarHidden(true) とセットで使う必要があります。
以下の2つの設定が必要です。
コード
1 2 3 4 |
.navigationBarTitle("") .navigationBarHidden(true) |
なので、例えば、以下のようなコードでタイトルバーのないビューを表示できます。
コード
1 2 3 4 5 6 7 8 9 10 |
var body: some View { NavigationView(){ Text("Hello world") .navigationBarTitle("") .navigationBarHidden(true) } .navigationViewStyle(StackNavigationViewStyle()) } |
なお、上記で表示させると、いったんタイトルバーのありそうな表示を行った後、調整されます。
注意
上記は、XCode11.4での動作ですので、振る舞いに調整が入るかもしれません。Sponsor Link