Swift 整个列表可按,而不是按钮本身
在下面的for each循环中,我在水平堆栈中创建了一个按钮,以删除阵列中的该对象,但是整行不是可按下的按钮,这不是我正在寻找的设计。任何帮助都将不胜感激:)Swift 整个列表可按,而不是按钮本身,swift,swiftui,Swift,Swiftui,在下面的for each循环中,我在水平堆栈中创建了一个按钮,以删除阵列中的该对象,但是整行不是可按下的按钮,这不是我正在寻找的设计。任何帮助都将不胜感激:) 为了解决这个问题,你们应该使用图像而不是按钮,因为列表使这个问题发生!列出所有行的应用按钮操作,而不仅仅是按钮 struct myView:View{ @EnvironmentObject var getFood:FoodAddModel @EnvironmentObject var person: UserIn
为了解决这个问题,你们应该使用图像而不是按钮,因为列表使这个问题发生!列出所有行的应用按钮操作,而不仅仅是按钮
struct myView:View{
@EnvironmentObject var getFood:FoodAddModel
@EnvironmentObject var person: UserInfoModel
var unwrappedFoods:[AddedFoods]{
getFood.foods ?? []
}
var body: some View{
List{
ForEach(Array(unwrappedFoods.enumerated()), id: \.1.id) { (index, obj) in
HStack{
Text(obj.name)
Spacer()
Image(systemName: "minus")
.frame(width: 40, height: 40, alignment: .center) // <<: Here
.background(Color.white) // <<: Here
.foregroundColor(.red)
.onTapGesture { // <<: Here
getFood.foods?.remove(at: index)
person.personCurrentCalorieProgress.calorieProgress += obj.totalCals
}
}
}
}
}
}
struct myView:View{
@EnvironmentObject变量getFood:FoodAddModel
@EnvironmentObject变量person:UserInfoModel
var unwrappedFoods:[添加的foods]{
getFood.foods???[]
}
var body:一些观点{
名单{
中的ForEach(数组(unwrappedFoods.enumerated()),id:\.1.id){(索引,obj)
HStack{
文本(对象名称)
垫片()
图像(系统名称:“减号”)
.frame(宽度:40,高度:40,对齐:.center)/列表
的按钮行为似乎异常,作为一种解决方法,您可以使用带有值的修改器plainButtonStyle()
导入快捷界面
结构myView:View{
var body:一些观点{
名单{
弗雷奇(0..看起来您有两个hs图钉
包装您的物品--您可能可以删除一个。那么,在文本
和按钮
之间放置一个间隔符
怎么样?如果这样做,整行看起来仍然可以单击吗?我现在无法尝试,但有必要在此处具体化此数组:数组吗(unwrappedFoods.enumerated())
我刚刚解决了他问的问题,没什么了!也许他需要一些我们不知道的代码,它们都工作得很好,但是负号图像上的压力必须非常接近,这对用户来说是个问题。是否有某种属性使得可压区域的空间围绕图像?如果可能的话,我会清理一下ible@Matthew:我先给了一个框架,然后给了背景一个颜色,这样更容易点击!
struct myView:View{
@EnvironmentObject var getFood:FoodAddModel
@EnvironmentObject var person: UserInfoModel
var unwrappedFoods:[AddedFoods]{
getFood.foods ?? []
}
var body: some View{
List{
ForEach(Array(unwrappedFoods.enumerated()), id: \.1.id) { (index, obj) in
HStack{
Text(obj.name)
Spacer()
Image(systemName: "minus")
.frame(width: 40, height: 40, alignment: .center) // <<: Here
.background(Color.white) // <<: Here
.foregroundColor(.red)
.onTapGesture { // <<: Here
getFood.foods?.remove(at: index)
person.personCurrentCalorieProgress.calorieProgress += obj.totalCals
}
}
}
}
}
}
import SwiftUI
struct myView:View{
var body: some View{
List{
ForEach(0..<5) { (index) in
HStack{
Text("\(index)")
Spacer()
Button(action: {
print("foo")
}) {
Image(systemName: "minus").foregroundColor(.red)
}.buttonStyle(PlainButtonStyle())
}
}
}
}
}