ในโพสต์นี้ เราจะมาดูวิธีรับตำแหน่งการสัมผัสบนอุปกรณ์โดยใช้ Swift
มาเริ่มกันเลย
ขั้นตอนที่ 1 − เปิด Xcode → โครงการใหม่ → แอปพลิเคชั่นมุมมองเดียว → ตั้งชื่อมันว่า "TouchMe"
ขั้นตอนที่ 2 − เปิด Main.storyboard และเพิ่มป้ายกำกับตามที่แสดงด้านล่าง บนฉลากนี้เราจะแสดงตำแหน่งการสัมผัส
ขั้นตอนที่ 3 − สร้าง @IBOutlet สำหรับป้ายกำกับ ตั้งชื่อว่า touchPositionLabel
ขั้นตอนที่ 4 − เราจะแทนที่เมธอด touchesBegan ใน ViewController เพื่อรับตำแหน่งการสัมผัสในมุมมอง แทนที่วิธีการที่แสดงด้านล่าง
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { if let touch = event?.allTouches?.first { let loc:CGPoint = touch.location(in: touch.view) self.touchPositionLabel.text = " X:\(loc.x) Y:\(loc.y) " } }
การสัมผัสจะเริ่มขึ้นทุกครั้งที่คุณสัมผัสที่ใดก็ได้บนหน้าจอ สิ่งนี้ทำให้เราสัมผัสได้ถึงเหตุการณ์ที่มีการสัมผัสทั้งหมด
เราใช้จุดสัมผัสแรกเท่านั้นโดยใช้ event?.allTouches?.first เพื่อแสดงตำแหน่งการสัมผัส
'เหตุการณ์' เป็นทางเลือก นั่นคือเหตุผลที่เราใช้ if... ปล่อยให้ผูกเพื่อแกะค่า
จากนั้นใช้ 'let loc:CGPoint =touch.location(in:touch.view)' เราจะได้ตำแหน่งในมุมมองที่สัมผัส
คุณจะได้ตำแหน่งสัมผัสในวิธีการข้างต้น
ดำเนินโครงการ เรากำลังแสดงตำแหน่งบนฉลาก ซึ่งจะปรากฏด้านล่างทุกครั้งที่คุณสัมผัสที่ใดที่หนึ่งบนหน้าจอ