मैं SwiftUI को जानने में मेरी मदद करने के लिए एक सरल खान ऐप लिख रहा हूं । इस तरह, मैं प्राथमिक खुदाई (आमतौर पर LMB) को "खुदाई" करना चाहता हूं (प्रकट करें कि वहां कोई खदान है), और एक ध्वज लगाने के लिए माध्यमिक क्लिक (आमतौर पर आरएमबी)।
मेरे पास खुदाई का काम है! लेकिन मैं यह पता नहीं लगा सकता कि ध्वज कैसे लगाया जाए, क्योंकि मैं यह पता नहीं लगा सकता कि द्वितीयक क्लिक का पता कैसे लगाया जाए।
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.gesture(TapGesture().onEnded(self.handleUserDidTap(square)))
जैसा कि मैंने पहले बताया था, द्वारा लौटाए गए फ़ंक्शन handleUserDidTap
को क्लिक पर ठीक से कहा जाता है, लेकिन द्वारा लौटाया गया handleUserDidAltTap
केवल तभी बुलाया जाता है जब मैं नियंत्रण कुंजी को दबाए रखता हूं। यह समझ में आता है क्योंकि यह वही है जो कोड कहता है ... लेकिन मुझे ऐसा कोई एपीआई नहीं दिख रहा है जो इसे माध्यमिक क्लिक रजिस्टर कर सके, इसलिए मुझे नहीं पता कि और क्या करना है।
मैंने भी यह कोशिश की, लेकिन व्यवहार समान लग रहा था:
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.onTapGesture(self.handleUserDidTap(square))
.onTapGesture()
इसकी जांच - पड़ताल करें।
.gesture(TapGesture().onEnded(.......))