【发布时间】:2020-01-13 17:20:07
【问题描述】:
假设我有一个如下所示的 SwiftUI 视图层次结构:
ZStack() {
ScrollView {
...
}
Text("Hello.")
}
Text 视图阻止触摸事件到达底层ScrollView。
使用 UIKit,我会使用 .isUserInteractionEnabled 之类的东西来控制它,但我找不到任何使用 SwiftUI 的方法。
我尝试在文本视图中添加Gesture 和.none 的GestureMask,但这似乎不起作用。
我希望我在这里遗漏了一些明显的东西,因为我需要在滚动视图的顶部放置一些状态信息。
【问题讨论】:
-
在 SwiftUI 的“原始”和您描述的异常需要之间,如果您遗漏了一些明显的东西,我会感到惊讶 - 它可能(尚不)存在。
-
您可能希望将文本放入框架中以使其更小,而 contentShape 也可能会有所帮助。
-
@chockenberry 正好是一年后。您是否找到了解决问题的有效解决方案,您愿意分享吗?
-
如果我没有设置
allowsHitTesting,如果不透明度≤0.5,SwiftUI 似乎会自动禁用用户交互。 -
找到答案:stackoverflow.com/a/61225965/11912101
.allowsHitTesting(false)申请UIViewControllerWrapper()对我有用。
标签: swift swiftui user-interaction