Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> iOS

Cách lấy vị trí chạm (touch position) trên thiết bị iOS

Giới thiệu

Bài viết này hướng dẫn cách xác định tọa độ điểm chạm trên màn hình thiết bị iOS bằng Swift.

Các bước thực hiện

Bước 1: Tạo dự án mới

Mở Xcode → New Project → Single View Application → Đặt tên là "TouchMe".

Bước 2: Thiết kế giao diện

Mở Main.storyboard, thêm một nhãn (UILabel) để hiển thị tọa độ chạm.

Cách lấy vị trí chạm (touch position) trên thiết bị iOS

Bước 3: Kết nối IBOutlet

Tạo @IBOutlet cho nhãn, đặt tên là touchPositionLabel.

Bước 4: Override phương thức touchesBegan

Ghi đè phương thức touchesBegan trong ViewController để lấy vị trí chạm:

override func touchesBegan(_ touches: Set, 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)"
    }
}

Giải thích mã nguồn

  • touchesBegan được gọi mỗi khi người dùng chạm vào màn hình.
  • event?.allTouches?.first lấy điểm chạm đầu tiên (single touch).
  • touch.location(in: touch.view) trả về tọa độ trong hệ tọa độ của view được chạm.
  • Sử dụng if let để unwrap an toàn vì event là optional.

Bước 5: Chạy thử

Build và chạy ứng dụng. Mỗi khi chạm màn hình, nhãn sẽ cập nhật tọa độ X, Y:

Cách lấy vị trí chạm (touch position) trên thiết bị iOS

Lưu ý

Để hỗ trợ multi-touch, hãy duyệt qua event?.allTouches thay vì chỉ lấy .first.