ฉันจะตรวจสอบคลิกขวาใน SwiftUI ได้อย่างไร
ฉันกำลังเขียนแอพ Mines ง่ายๆเพื่อช่วยให้ฉันรู้จัก SwiftUI ด้วยเหตุนี้ฉันต้องการคลิกหลัก (ปกติคือ 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เรียกเฉพาะเมื่อฉันกดปุ่มควบคุมค้างไว้ นั่นเป็นเหตุผลเพราะมันคือรหัสที่บอกว่า ... แต่ฉันไม่เห็น API ใดที่ทำให้ลงทะเบียนการคลิกรองดังนั้นฉันไม่รู้ว่าจะต้องทำอะไรอีก ฉันลองสิ่งนี้ด้วย แต่พฤติกรรมก็เหมือนกัน: BoardSquareView( style: self.style(for: square), model: square ) .gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square))) .onTapGesture(self.handleUserDidTap(square))