0

我有一个包含 UIViewRepresentable 的视图(一些 UIView)。该 UIView 有一个按钮作为子视图,它有自己的操作。我有两个问题:

如果 SwiftUI 视图没有附加点击手势,则 UIView 的按钮事件 (UIControlEventTouchUpInside) 不会在单击时触发,而是仅在长按时触发。如果 SwiftUI 视图附加了点击手势,则 UIView 按钮上的触摸触发正常,但 SwiftUI 视图的事件也会触发(同时触摸) SwiftUI 的 View 的 .gesture 修饰符允许附加具有不同蒙版的手势,但它们实际上只考虑手势附加到 SwiftUI 视图层次结构,似乎没有考虑附加到它的 UIView 子视图的手势

VStack(spacing: 0) {
    textfield        <-- UIView inside that has own action
}.onTapGesture {
    endEditing()      <-- this called together with UIView's action
}
4

1 回答 1

0

当我触摸放在 UIViewRepresentable 中的 swiftUI 按钮时,我遇到了碰撞。这个解决方案对我有用。

MyUIKitRepresentableView()
    .allowsHitTesting(false)
于 2021-05-01T07:33:26.930 回答