1

We have a custom view, that we use in forms (its main feature is to be able to show a nice border on if there is a validation error on the form):

struct ButtonNavigationLink: View {
    var label: String
    var markingType: MarkingType = .none
    
    var action: () -> Void
    
    var body: some View {
        GeometryReader { geometry in
            HStack {
                Text(label)
                .offset(x: 5, y: 0)
                
                Spacer()
                
                Image("PfeilRechts")
            }
            .frame(width: geometry.size.width + 10, height: geometry.size.height, alignment: .leading)
            .padding(.trailing, 5)
            .border(markingType.getMarkingColor())
            .offset(x: -5, y: 0)
            // to allow click on the whole width
            .contentShape(Rectangle())
            .onTapGesture {
                print("in ButtonNavigationLink")
                self.action()
            }
        }
    }
}

The onTapGesture works well, until it doesn't work anymore. It happens if we open other sheets and then eventually come to this one.

The funny thing is, that - when is not working anymore - if you scroll, even so lightly, the form containing it, it starts working again. The form is not disabled

memical
  • 2,353
  • 1
  • 24
  • 36

0 Answers0