ios 防止触摸从Hstack间距传递到其他视图

pjngdqdw  于 2022-12-05  发布在  iOS
关注(0)|答案(1)|浏览(139)

我使用ZStackMapView上显示HStack。我面临的问题是用户触摸仍然可以从Hstack之间的间距响应MapView。我如何防止这种情况?我可以使用的一个技巧是设置不可见的背景颜色。
第一个
我也试过使用contentShape,但没有效果。处理这种情况的最好方法是什么?
Image

bxgwgixi

bxgwgixi1#

有两种方法可以解决这个问题:
1.应该使用Color.black.opacity(0.0001)(即使是在每通道10位的显示器上)。这会产生一个非常透明的颜色,它对你的外观没有任何影响,以及一个填充框架的可点击区域。我不确定SwiftUI是否足够智能,可以跳过渲染颜色,所以我不确定它是否会影响性能。
1.使用GeometryReader获取帧大小,然后使用contentShape生成可点击区域:

GeometryReader { proxy in
    Color.clear.contentShape(Path(CGRect(origin: .zero, size: proxy.size)))
}

相关问题