SwiftUI | NavigationViewのBackを非表示にする方法

View

SwiftUIでNavigationViewのBackを非表示にする方法を説明する。

Swift 5.7 / Xcode 14.0 / iOS 16.0

結論

.navigationBarBackButtonHidden(false) と設定する。

具体例

ボタンをタップするとBackの表示 / 非表示が切り替わるAppを作成する。

コード

  1. NavigationViewを作成する。
  2. destinationの中身ビューを作成する。
  3. Backの表示を切り替えるための変数を用意する。
  4. ボタンをタップすると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を非表示にする方法を説明した。

コメント

タイトルとURLをコピーしました