SwiftUI — onTapGesture на HStack работает, пока не перестанет работать

У нас есть пользовательское представление, которое мы используем в формах (его основная функция — показывать красивую рамку, если в форме есть ошибка проверки):

      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()
            }
        }
    }
}

OnTapGesture работает хорошо, пока не перестанет работать. Это происходит, если мы открываем другие листы и в итоге приходим к этому.

Самое смешное, что когда он больше не работает, если вы даже слегка прокрутите форму, содержащую его, он снова начнет работать. Форма не отключена

0 ответов

Другие вопросы по тегам