当行包含按钮时,禁用表单行选择

时间:2019-10-11 13:38:28

标签: swift forms swiftui

我有一个Form,并且在行中添加了Button,但是这使得整个行都是可选的,这不是我想要的。我希望在删除行选择时可以点击“眼睛”按钮。

enter image description here

上一行没有按钮,因此第二行是因为有此眼睛按钮而无法选择。

试图添加一个.allowsHitTesting(false)和一个空的.onTapGesture {}修饰符,但是前者什么也不做,而第二个也禁用了“眼睛”按钮。

2 个答案:

答案 0 :(得分:4)

您应该将 buttonStyle 设置为 PlainButtonStyle()

答案 1 :(得分:1)

我发现,在Button行中嵌入Form可以进行行选择,无论您使用的修饰符还是按钮的嵌入方式(ZStack等)。

唯一的解决方案是现在完全使用按钮并使用常规的Image而不是. onTapGesture修饰符:

Image(systemName: self.secure ? "eye" : "eye.fill")
    .foregroundColor(self.secure ? .secondary : Color("appTint"))
    .onTapGesture { self.secure.toggle() }