私は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 をタップするときに、そのようにする必要があります。ナビゲーション タイトルを子に適用すると機能しないエラーを見つけることができません。
どんな助けでも感謝するべきです。前もって感謝します。