如何在 swift ui 中将 swipeActions 与弹出窗口一起使用?
How to use swipeActions with popover in swift ui?
我有一个按钮,当用户在 HStack
上向左滑动时会显示该按钮。当用户单击按钮时,我想显示一个弹出窗口。但是它不起作用,单击按钮时没有任何反应。这是我的代码:
struct SwipeItem: View {
@State private var showPopover = false
var body: some View {
HStack(spacing: 0) {
Text("text")
Spacer()
}
.swipeActions(allowsFullSwipe: false) {
Button("Modify", action: {
showPopover = true
})
.tint(.green)
.popover(isPresented: $showPopover) {
Text("popover")
}
}
}
}
我注意到当我将 Button
移出 swipeActions
时弹出窗口起作用(即直接在 HStack
内)。所以 swipeActions
似乎不适用于 popover
。这里有什么问题?如何让它们协同工作?
我想你可以移动 .popover
修饰符来设置 HStack
var body: some View {
HStack(spacing: 0) {
Text("text")
Spacer()
}
.popover(isPresented: $showPopover) {
Text("popover")
}
.swipeActions(allowsFullSwipe: false) {
Button("Modify", action: {
showPopover = true
})
.tint(.green)
}
}
我有一个按钮,当用户在 HStack
上向左滑动时会显示该按钮。当用户单击按钮时,我想显示一个弹出窗口。但是它不起作用,单击按钮时没有任何反应。这是我的代码:
struct SwipeItem: View {
@State private var showPopover = false
var body: some View {
HStack(spacing: 0) {
Text("text")
Spacer()
}
.swipeActions(allowsFullSwipe: false) {
Button("Modify", action: {
showPopover = true
})
.tint(.green)
.popover(isPresented: $showPopover) {
Text("popover")
}
}
}
}
我注意到当我将 Button
移出 swipeActions
时弹出窗口起作用(即直接在 HStack
内)。所以 swipeActions
似乎不适用于 popover
。这里有什么问题?如何让它们协同工作?
我想你可以移动 .popover
修饰符来设置 HStack
var body: some View {
HStack(spacing: 0) {
Text("text")
Spacer()
}
.popover(isPresented: $showPopover) {
Text("popover")
}
.swipeActions(allowsFullSwipe: false) {
Button("Modify", action: {
showPopover = true
})
.tint(.green)
}
}