サイドメニューを実装する際にnavigationViewを使用したくない
現在、SwiftUIを使用してiphone向けのアプリを作成しております。
画面の流れとしては
ログイン ⇒ ホーム ⇒ 画面A ⇒ 画面A-1 ⇒ 画面A-2
画面B ⇒ 画面B-1 ⇒ 画面B-2
画面C ⇒ 画面C-1 ⇒ 画面C-2
画面D ⇒ 画面D-1 ⇒ 画面D-2
そしてホーム画面、画面A~Dでサイドメニューを実装するために
以下のサイトを参考に致しました。
https://dev.classmethod.jp/articles/swiftui_overlay_sidemenu/
発生している問題・エラーメッセージ
画面AでNavigationViewを使用しているため画面A-2から
NavigationLinkで画面Aに戻る際にNavigationBarが二つでる
該当のソースコード
一部省略
swift
1// 画面A 2 ZStack{ 3 NavigationView { 4 5 List{ 6 Section{ 7 // 検索結果のリスト表示 8 ForEach(0 ..< SearchList.count){ item in 9 VStack{ 10 NavigationLink(destination: DetailsView()) { 11 VStack{ 12 HStack{ 13 Text(SearchList[item][0]).frame(alignment: .leading) 14 Spacer() 15 Text(SearchList[item][1]) 16 .font(.caption) 17 } 18 HStack{ 19 Text("送り元") 20 .font(.caption) 21 .fontWeight(.thin) 22 Text(":").font(.caption).fontWeight(.thin) 23 Text(SearchList[item][3]) 24 .font(.caption) 25 .fontWeight(.thin) 26 Spacer() 27 } 28 HStack{ 29 Text("送り先") 30 .font(.caption) 31 .fontWeight(.thin) 32 Text(":").font(.caption).fontWeight(.thin) 33 Text(SearchList[item][5]) 34 .font(.caption) 35 .fontWeight(.thin) 36 Spacer() 37 } 38 HStack{ 39 Text("状態") 40 .font(.caption) 41 .fontWeight(.thin) 42 Text(":").font(.caption).fontWeight(.thin) 43 Text(SearchList[item][6]) 44 .font(.caption) 45 .fontWeight(.thin) 46 Spacer() 47 } 48 } 49 } 50 } 51 } 52 } 53 }.listStyle(GroupedListStyle()) 54 } 55 .navigationBarTitle("画面A", displayMode: .inline) 56 .navigationBarItems( 57 // 左側 58 leading: 59 Button(action: { 60 // サイドメニューを開く 61 self.isOpenSideMenu.toggle() 62 }) { 63 Image(systemName: "line.horizontal.3") 64 }, 65 // 右側 66 trailing:HStack{ 67 NavigationLink(destination: BasicView()) { 68 HStack{ 69 Image(systemName: "plus") 70 } 71 }.simultaneousGesture(TapGesture().onEnded{ 72 print("TESTA") 73 }) 74 } 75 ) 76 } 77 .navigationBarHidden(true) 78 79 SideMenuView(isOpen: $isOpenSideMenu) 80 .edgesIgnoringSafeArea(.all) 81 } 82 }
試したこと
画面AでnavigationVIewを外したら、
navigationbarが表示されなくなりました。
補足情報(FW/ツールのバージョンなど)
x code 12.4
フレームワーク swiftUI
ライフサイクル UIKit App Delegate
動作確認 ios 13.0
あなたの回答
tips
プレビュー