SwiftUIで.navigationTitle()が効かないときの対処方法を説明する。
結論
.navigationTitle()はNavigationView { }に付けるのではなく中のViewに付ける。
具体例
OK例
.navigationTitle()をNavigationView { }の中のText()に付けた。これでnavigationTitleが表示される。
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
Text("中身")
.navigationTitle("タイトル") // ?
}
}
}
![](https://swiftui.kazunoriri.com/wp-content/uploads/2022/09/スクリーンショット-2022-09-06-7.06.24-503x1024.png)
NG例
.navigationTitle()をNavigationView { }に付けた。これではnavigationTitleは表示されない。これでもビルドは通ってしまうので間違いに気付きにくい。
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
Text("中身")
}
.navigationTitle("タイトル") // ?
}
}
![](https://swiftui.kazunoriri.com/wp-content/uploads/2022/09/スクリーンショット-2022-09-06-7.06.34-505x1024.png)
まとめ
SwiftUIで.navigationTitle()が効かないときの対処方法を説明した。
コメント