【发布时间】:2019-09-03 10:32:50
【问题描述】:
我正在使用带有 SwiftUI 的 xCode 11 beta 7。
我有一个简单的列表,每个列表元素都有几个按钮。目前,当用户按下单元格(不是按钮)时,它会突出显示列表单元格的背面(可能不是 SwiftUI 的正确术语)。
如何禁用此行为?我找不到明显的 api 来禁用它。
List {
HStack {
Group {
Button(action: {}) {
Text("Read").padding(5)
}.onTapGesture {
print("1")
}
.padding()
.background(Color.blue)
.cornerRadius(5)
}
Group {
Button(action: {}) {
Text("Notify").padding(5)
}.onTapGesture {
print("2")
}
.padding()
.background(Color.purple)
.cornerRadius(5)
}
Group {
Button(action: {}) {
Text("Write").padding(5)
}.onTapGesture {
print("3")
}
.padding()
.background(Color.yellow)
.cornerRadius(5)
}
}
}
【问题讨论】:
-
您不能直接禁用单元格的突出显示(目前)。但是您可以使用垂直滚动视图而不是列表。您还可以设置背景以阻止用户看到突出显示的背景,但分隔符会闪烁
-
是的,我觉得这可能是目前的解决方案,SwiftUI 肯定还没有准备好生产。
-
你需要帮忙吗?
-
我得到了两个感谢
-
注意点:List(...) 比 ScrollView(...) 处理大列表要好得多,性能也要好得多,所以如果是这样,请找到一种方法来处理列表项点击并放弃滚动条。
标签: swift swiftui ios13 swiftui-list