私は、 SwiftUIを知るのに役立つ簡単なMinesアプリを作成しています。そのため、プライマリクリック(通常はLMB)で「掘る」(そこに地雷があるかどうかを明らかにする)ようにし、セカンダリクリック(通常はRMB)でフラグを付けるようにします。
掘り出し作業中!しかし、フラグの配置方法がわかりません。セカンダリクリックを検出する方法がわからないためです。
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.gesture(TapGesture().onEnded(self.handleUserDidTap(square)))
以前に示唆したように、によって返される関数はhandleUserDidTap
クリック時に正しく呼び出されますが、によって返される関数はhandleUserDidAltTap
、Ctrlキーを押したときにのみ呼び出されます。それがコードが言っていることなので、それは理にかなっています...しかし、セカンダリクリックを登録するAPIが見当たらないので、他に何をすべきかわかりません。
私もこれを試しましたが、動作は同じように見えました:
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.onTapGesture(self.handleUserDidTap(square))
.onTapGesture()
見てみな。
.gesture(TapGesture().onEnded(.......))