SwiftUI:如何使列表视图中的图像不具有与列表项相同的操作?
我在视图中有一个列表。在列表中,SwiftUI:如何使列表视图中的图像不具有与列表项相同的操作?,swiftui,swiftui-list,swiftui-navigationview,Swiftui,Swiftui List,Swiftui Navigationview,我在视图中有一个列表。在列表中,项被迭代以填充列表。单击每个列表项时,我想导航到另一个视图。 这正如预期的那样工作,但我希望在每个列表项中有一个由圆圈表示的按钮,该按钮可以独立单击,而无需导航到第二个视图。现在,点击圆圈就可以进入第二视图。我怎样才能做到这一点 var body: some View { NavigationView { List { ForEach(items) { item in Navigati
项
被迭代以填充列表。单击每个列表项时,我想导航到另一个视图。这正如预期的那样工作,但我希望在每个列表项中有一个由圆圈表示的
按钮
,该按钮可以独立单击,而无需导航到第二个视图。现在,点击圆圈就可以进入第二视图。我怎样才能做到这一点
var body: some View {
NavigationView {
List {
ForEach(items) { item in
NavigationLink(
destination: OtherView(name: "test"),
label: {
Text("Navigate")
})
HStack {
Image("1")
.resizable()
.frame(width: 32.0, height: 32.0)
Button(action: addItem) {
Label("Add Item", systemImage: "circle")
}
}
}
}
}
}
使用
列表
无法执行此操作。您可以在滚动视图中使用VStack
或LazyVStack
作为替代解决方案不确定,但我认为您应该使用HStack将文本、图像和按钮全部放入导航链接。在一个类似的问题中,有一件事帮助了我,那就是.buttonStyle(PlainButtonStyle())
创建一个行视图(item:item)
,但是你的ForEach
里面有什么。每个项目
都有一个行视图
,您可以在其中单独操作。