Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> iOS

วิธีดึงตำแหน่งการสัมผัส (Touch Position) บนอุปกรณ์ iOS

การรับตำแหน่งการสัมผัสบนหน้าจอ 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 ทันที