親の内部に表示されているビューを。を使用して却下する方法がわかりません@State var showingCardModal = false
。これが私のContentViewのコードです:
import SwiftUI
struct ContentView: View {
@State var showingCardModal = false
var body: some View {
ZStack {
Button(action: {
withAnimation {
self.showingCardModal.toggle()
}
}) {
Text("Show").font(.headline)
}
.frame(width: 270, height: 64)
.background(Color.secondary).foregroundColor(.white)
.cornerRadius(12)
if showingCardModal {
CardModal()
.transition(AnyTransition.scale.combined(with: .opacity).animation(.easeIn(duration: 0.75)))
}
}
}
}
そしてその中のCardModalのために:
import SwiftUI
struct CardModal: View {
//@Binding var isPresented: Bool
var body: some View {
ZStack{
Color(.secondarySystemBackground).edgesIgnoringSafeArea(.all)
VStack{
Spacer().frame(height:30)
Text("Today, 20 March").font(.title)
Spacer()
}
CarouselView(itemHeight: 420, views: [
SingleCard(name: "Card 1", contentOpacity: 1.0),
SingleCard(name: "Card 2", contentOpacity: 1.0),
SingleCard(name: "Card 3", contentOpacity: 1.0),
SingleCard(name: "Card 4", contentOpacity: 1.0),
SingleCard(name: "Card 5", contentOpacity: 1.0),
SingleCard(name: "Card 6", contentOpacity: 1.0),
SingleCard(name: "Card 7", contentOpacity: 1.0),
])
VStack {
Spacer()
Button(action:{}) {
Text("Done").font(.headline).foregroundColor(.purple)
}
.frame(width: 300, height: 48)
.background(Color.gray.opacity(0.25))
.cornerRadius(12)
Spacer().frame(height: 20)
}
}
}
}
月経周期の症状のためにモーダルが下からスライドするときに、Healthアプリのようなものを複製しようとしています。モーダルは全画面表示で、ボタンで閉じられます。
こんな感じ…
struct CardModal: View {
@Binding var isPresented: Bool
...
Button(action:{ self.isPresented = false }) {
とで ContentView
if showingCardModal {
CardModal(isPresented: self.$showingCardModal)
およびPreviewProviderで
CardModal(isPresented: .constant(true))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加