Saya sedang menulis aplikasi Tambang sederhana untuk membantu saya mengenal SwiftUI. Karena itu, saya ingin klik primer (biasanya LMB) untuk "menggali" (mengungkapkan apakah ada tambang di sana), dan klik sekunder (biasanya RMB) untuk menempatkan bendera.
Saya memiliki penggalian yang bekerja! Tapi saya tidak tahu bagaimana cara menempatkan bendera, karena saya tidak tahu cara mendeteksi klik sekunder.
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.gesture(TapGesture().onEnded(self.handleUserDidTap(square)))
Seperti yang saya katakan sebelumnya, fungsi yang dikembalikan oleh handleUserDidTap
disebut dengan benar pada klik, tetapi yang dikembalikan handleUserDidAltTap
hanya dipanggil ketika saya menahan tombol Kontrol. Itu masuk akal karena itulah yang dikatakan kode ... tapi saya tidak melihat API apa pun yang dapat membuatnya mendaftar klik sekunder, jadi saya tidak tahu harus berbuat apa lagi.
Saya juga mencoba ini, tetapi perilakunya tampak identik:
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.onTapGesture(self.handleUserDidTap(square))
.onTapGesture()
coba lihat.
.gesture(TapGesture().onEnded(.......))