1

私はSwiftUIの初心者です。NavigationView を追加し、その NavigationView から、TabView を持つ別のビューにリダイレクトするという点で、ContentView があります。

//ContentView.swift

struct ContentView: View {

  @State private var isValidLogin : Bool = false    

  var body: some View {
    NavigationView{
         VStack
         {
           NavigationLink(destination: HomePage(), isActive:$isValidLogin) {
                Text("LOGIN")
                    .font(.headline)
                    .foregroundColor(.white)
                    .padding()
                    .onTapGesture {
                         self.isValidLogin = true
                    }
          }
        }.padding()
      }
   }
} 

ここで HomePage.swift のコード

import SwiftUI

struct HomePage: View {

private enum Tab: Hashable {
    case home
    case map
}
@State private var selectedTabbar : Tab = .home

var body: some View {
    TabView(selection: $selectedTabbar)
    {
        HomeView()
            .tag(0)
            .tabItem{
                Text("Home")
                Image(systemName: "house.fill")
            }
        
        MapView()
            .tag(1)
            .tabItem {
                Text("Map")
                Image(systemName: "map")
            }
    }.navigationBarTitle("Settings")
 }
}

struct HomePage_Previews: PreviewProvider {
    static var previews: some View {
        HomePage()
    }
}

MapView.swift のコードはこちら

import SwiftUI

struct MapView: View {

var body: some View {
    Text("You are in Map Page")
        .navigationBarTitle(Text("Map"), displayMode: .inline)
 }
} 
struct MapView_Previews: PreviewProvider {
    static var previews: some View {
        MapView()
    }
}

私のエラーは次のとおりです:グローバルタイトルをTabViewプロパティに設定すると、.navigationBarTitle("Settings")が常に反映されます。しかし、NavigationTitle を子ビューに設定すると、その子ビューに表示されます。NavigationTitle がMapである必要があるときに Map Item をタップするときに、そのようにする必要があります。ナビゲーション タイトルを子に適用すると機能しないエラーを見つけることができません。

どんな助けでも感謝するべきです。前もって感謝します。

4

1 に答える 1