前提・実現したいこと
2枚目の画像の画面に、ボトムバーを表示させたいのですが、このページだけ反映されません。
Listを使用したNavigationLinkの画面遷移のみ、うまくボトムバーが表示されいないように感じます...!
Xcodeは12.4を使用 OSのバージョンはCatalinaのバージョン10.15.7です。
SwiftUIを使用して実装しています。
この情報だけじゃ分からないよ、って場合もご教授お願いします...!
発生している問題・エラーメッセージ
### 該当のソースコード SwiftUI Xcodeは12.4を使用 ソースコード import SwiftUI struct IflmH200_KeikakuSyusei: View { @ObservedObject var HbknArray = User() @State var selected:Int = 0 @State var navigationViewIsActive: Bool = false var body: some View { VStack { NavigationLink(destination: IflmH300_Bukken(Hbkn: $HbknArray.Array[selected]), isActive: $navigationViewIsActive){ EmptyView() } }.hidden() List(HbknArray.Array.indices, id: .self) { num in Button(action: { self.selected = num self.navigationViewIsActive = true }, label: { Text("aaa") }) } .navigationTitle("都道府県") .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .bottomBar) { Button(action: { }) { Label("送信", systemImage: "paperplane") } } } } } 遷移後の画面 import SwiftUI struct IflmH300_Bukken: View { @Binding var Hbkn: HbknData @State var select = 0 @State var isActive = false var body: some View { VStack{ NavigationLink(destination: ThirdView(isFirstViewActive: $isActive), isActive: $isActive) {}.hidden() Text("遷移先") } .toolbar { ToolbarItem(placement: .bottomBar) { Button(action: { }) { Label("送信", systemImage: "paperplane") } } } } }
試したこと
少しづつコードを削減しつつ、いろいろと調べてみたのですが行き詰まってしまいました。
Listを使用したNavigationLinkの画面遷移のみ、うまくボトムバーが表示されないので、別の方法で遷移をさせないとダメなのではとも思っています。
@ObservedObject var HbknArray = User() の Userクラスが原因なのでは?とも考えましたが、
自分では原因が分かりませんでした。一応下記がクラスの中身です。
class User: ObservableObject { @Published var Array:[HbknData] = makeData() }
補足情報(FW/ツールのバージョンなど)
Xcodeは12.4を使用 OSのバージョンはCatalinaのバージョン10.15.7です。
よろしくお願いいたします。
あなたの回答
tips
プレビュー