การรับตำแหน่งการสัมผัสบนหน้าจอ iOS ด้วย Swift
บทความนี้จะสาธิตวิธีการได้พิกัดตำแหน่งที่ผู้ใช้สัมผัสบนหน้าจออุปกรณ์ iOS
ขั้นตอนที่ 1: สร้างโปรเจกต์ใหม่
เปิด Xcode → New Project → Single View Application → ตั้งชื่อว่า "TouchMe"
ขั้นตอนที่ 2: เพิ่ม Label ใน Main.storyboard
วาง Label 1 ตัวเพื่อแสดงพิกัด X, Y ของตำแหน่งที่สัมผัส
ขั้นตอนที่ 3: สร้าง IBOutlet ให้ Label
เชื่อม Label กับตัวแปร touchPositionLabel
ขั้นตอนที่ 4: Override เมธอด touchesBegan
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) "
}
}
คำอธิบายโค้ด
touchesBeganจะถูกเรียกทุกครั้งที่มีการสัมผัสหน้าจอevent?.allTouches?.firstใช้ดึงจุดสัมผัสแรก (รองรับ single touch)touch.location(in: touch.view)คืนค่าพิกัด CGPoint ใน coordinate system ของ view ที่ถูกสัมผัส- ใช้
if letเพื่อ unwrap optional อย่างปลอดภัย
ขั้นตอนที่ 5: รันและทดสอบ
รันโปรเจกต์ แล้วลองสัมผัสหน้าจอ จะเห็นพิกัด X, Y แสดงบน Label ทันที