【问题标题】:SwiftUI + UIView touch events collisionSwiftUI + UIView 触摸事件碰撞
【发布时间】:2021-02-09 15:09:52
【问题描述】:

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

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

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

【问题讨论】:

    标签: view uiview swiftui uigesturerecognizer uiviewrepresentable


    【解决方案1】:

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

    MyUIKitRepresentableView()
        .allowsHitTesting(false)
    

    【讨论】:

      猜你喜欢
      • 2019-07-25
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      相关资源
      最近更新 更多