SwiftUIでNavigationViewのBackを非表示にする方法を説明する。
Swift 5.7 / Xcode 14.0 / iOS 16.0
結論
.navigationBarBackButtonHidden(false) と設定する。
具体例
ボタンをタップするとBackの表示 / 非表示が切り替わるAppを作成する。
コード
- NavigationViewを作成する。
- destinationの中身ビューを作成する。
- Backの表示を切り替えるための変数を用意する。
- ボタンをタップするとBackの表示が切り替わるようにする。
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView { // ? 1
NavigationLink(destination: destinationの中身ビュー()) {
Text("destinationの中身ビューへ")
}
}
}
}
struct destinationの中身ビュー: View { // ? 2
@State var Backを表示: Bool = false // ? 3
var body: some View {
Button("Backを表示/非表示") {
Backを表示.toggle()
}
.buttonStyle(.borderedProminent)
.navigationBarBackButtonHidden(Backを表示) // ? 4
}
}
まとめ
SwiftUIでNavigationViewのBackを非表示にする方法を説明した。
コメント