やりたいこと:
HomeViewにあるテキストボックス風ボタンを押すとpartialsheetが出て、ビュー内のボタン(複数ある)を押すとそれに応じたテキストがテキストボックス風の場所に表示される
partialsheet内でボタンに応じたテキストを出すことはできるのですが、HomeViewに表示させるやり方がわかりません。教えていただけると助かります
[Xcode] 12.5.1
[MacOS] Big Sur 11.5.2
import SwiftUI
import PartialSheet
struct HomeView: View {
@State var showPartial = false var body: some View { Button (action: { showPartial.toggle() }){ Text(" ") .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } .partialSheet(isPresented: $showPartial) { PartialSheetView() } }
}
struct PartialSheetView: View {
@State var action = "" @EnvironmentObject var partialSheetManager: PartialSheetManager var body: some View { VStack(spacing: 10){ Text("") .padding(.top,200) Button(action:{ action = "フォールド" }){ Text("フォールド") .font(.body) .bold() .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } Button(action:{ action = "チェック" }){ Text("チェック") .font(.body) .bold() .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } Button(action:{ action = "ストラドル" }){ Text("ストラドル") .font(.body) .bold() .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } Button(action:{ action = "ベット" }){ Text("ベット") .font(.body) .bold() .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } Button(action:{ action = "レイズ" }){ Text("レイズ") .font(.body) .bold() .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } Button(action:{ action = "オールイン" }){ Text("オールイン") .font(.body) .bold() .frame(width: 100, height: 30, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/) .border(Color.gray) } .padding(.bottom) Text(action) Button (action:{ withAnimation(){ partialSheetManager.closePartialSheet()} }){ Text("閉じる") } .padding(.vertical,50.0) } .frame(height:250) }
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView()
.addPartialSheet()
.environmentObject(PartialSheetManager())
}
}
}
公式のスタンダードな方法に従っていないように見えます。なぜこの方法に従わずに独自の実装を試みているのでしょうか?
https://github.com/AndreaMiotto/PartialSheet/wiki/2.-How-to-use