gpt4 book ai didi

带有 Overlay 的 SwiftUI UIView 取消触摸

转载 作者:行者123 更新时间:2023-12-05 06:19:46 26 4
gpt4 key购买 nike

我在使用 SwiftUI 和 UIView 时遇到了这个 UI 问题。

基本上,覆盖会停止用户交互以跟进 UIView。

Button(action: { print("hello") }){ Text("HERE") }
.overlay(
LinearGradient(
gradient: Gradient(colors: [.clear, Color.black.opacity(0.3)]),
startPoint: .top,
endPoint: .bottom
).allowsHitTesting(false))

不使用 UIView

struct ButtonView: UIViewRepresentable {

func makeUIView(context: Context) -> UIButton {
return UIButton(type: .close)
}

func updateUIView(_ uiView: UIButton, context: Context) {

}
}

ButtonView()
.overlay(
LinearGradient(
gradient: Gradient(colors: [.clear, Color.black.opacity(0.3)]),
startPoint: .top,
endPoint: .bottom
).allowsHitTesting(false))

有人遇到同样的麻烦吗?谢谢!

最佳答案

我的案例在 .overlay 方法中使用 .allowsHitTesting(false)

  var body: some View {
PageView(pages: images)
.frame(maxWidth: .infinity, maxHeight: 250)
.overlay {
TextOverlay()
.allowsHitTesting(false)
}
}

这里PageView是UIPageViewController

关于带有 Overlay 的 SwiftUI UIView 取消触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60712061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com