Skip to main content

HitTest 無効にする

ボタン配置するエリアで他の要素のタップが反応してほしくなくて対応。

こんな感じでできるらしいのだが、マップは反応してしまう。 (透明でいけるかも未確認)

swift
   // Mask
VStack {
Rectangle()
.fill(.red)
.frame(height: 50)
.allowsHitTesting(false)
Spacer()
}

仕方ないので イベント処理してるコードの先頭でチェックすることにした。 ( Annotation の選択は無視できないのだが、

swift
.onTapGesture { screenCoord in
print("screenCoord=\(screenCoord)")
if screenCoord.y < 60 { // Disallow Hit Testing ...
return
}
}