Ben yazıyorum basit Maden app bana SwiftUI tanımak yardımcı olur. Bu nedenle, birincil tıklamanın (genellikle LMB) "kazmak" (orada mayın olup olmadığını ortaya çıkarmak) ve ikincil tıklamayı (genellikle RMB) bir bayrak yerleştirmek istiyorum.
Kazma işim var! Ancak bir bayrağın nasıl yerleştirileceğini anlayamıyorum, çünkü ikincil bir tıklamanın nasıl tespit edileceğini bulamıyorum.
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.gesture(TapGesture().onEnded(self.handleUserDidTap(square)))
Daha önce ima ettiğim gibi, döndürülen işlev handleUserDidTap
tıklama sırasında düzgün bir şekilde çağrılır, ancak döndürülen işlev handleUserDidAltTap
yalnızca Kontrol tuşunu basılı tuttuğumda çağrılır. Bu mantıklı çünkü kod ne diyor ... ama ikincil tıklama kayıt yapabilirsiniz herhangi bir API görmüyorum, bu yüzden başka ne yapacağımı bilmiyorum.
Bunu da denedim, ancak davranış aynı görünüyordu:
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.onTapGesture(self.handleUserDidTap(square))
.onTapGesture()
bunu kontrol et.
.gesture(TapGesture().onEnded(.......))