【发布时间】:2020-11-07 10:42:51
【问题描述】:
是否可以将具有两个不同contextMenu 的两个对象放在Form/List 的同一行中?
例子:
List {
HStack {
Image("image.A").contextMenu{ Text("I'm A") }
Image("image.B").contextMenu{ Text("I'm B") }
}
}
【问题讨论】:
是否可以将具有两个不同contextMenu 的两个对象放在Form/List 的同一行中?
例子:
List {
HStack {
Image("image.A").contextMenu{ Text("I'm A") }
Image("image.B").contextMenu{ Text("I'm B") }
}
}
【问题讨论】:
这是一种可能的方法。使用@State 区分情况并使用onLongPressGesture 进行修改
在 iOS 13.5 上测试
struct ContentView: View {
@State var whichImage: Int = 0
var body: some View {
List {
HStack {
Image("image1").resizable().frame(width: 40, height: 40).onLongPressGesture {
self.whichImage = 1
}
Image("image2").resizable().frame(width: 40, height: 40).onLongPressGesture {
self.whichImage = 2
}
}.contextMenu{ Text(String(self.whichImage)) }
}
}
}
结果:
【讨论】: