ท่าทางสัมผัสแบบกดค้าง (หรือที่เรียกว่าการกดค้างไว้) จะตรวจจับนิ้วอย่างน้อยหนึ่งนิ้วที่สัมผัสหน้าจอเป็นระยะเวลานาน คุณกำหนดค่าระยะเวลาขั้นต่ำที่จำเป็นในการจดจำการกดและจำนวนครั้งที่นิ้วต้องสัมผัสหน้าจอ (ตัวจำแนกท่าทางจะทำงานตามระยะเวลาของการสัมผัสเท่านั้น ไม่ใช่โดยแรงที่เกี่ยวข้อง) คุณอาจใช้ท่าทางสัมผัสแบบกดค้างเพื่อเริ่มการทำงานกับวัตถุที่กำลังกด ตัวอย่างเช่น คุณอาจใช้เพื่อแสดงเมนูตามบริบท
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures/handling_long-press_gestures
ที่นี่เราจะออกแบบแอปพลิเคชันอย่างง่ายที่เราจะกดปุ่มในช่วงเวลาหนึ่ง (กดแบบยาว) และจะแสดงการแจ้งเตือน
มาเริ่มกันเลย
ขั้นตอนที่ 1 − เปิด Xcode → New Projecr → Single View Application → ตั้งชื่อมันว่า “LongPressGesture”
ขั้นตอนที่ 2 − ใน Main.storyboard ให้เพิ่มปุ่มหนึ่งปุ่มแล้วสร้าง @IBOutlet ของมันแล้วตั้งชื่อว่า “btnLongOutlet”
ขั้นตอนที่ 3 − ตอนนี้เปิด ViewController.swift และสร้างวัตถุของ UIlongPressGestureRecognizer()
var longgesture = UILongPressGestureRecognizer
ขั้นตอนที่ 4 − ใน viewDidLoad() ให้เพิ่มโค้ดต่อไปนี้
longgesture = UILongPressGestureRecognizer(target: self, action: #selector(ViewController.longPress(_:))) longgesture.minimumPressDuration = 2 btnLongOutlet.addGestureRecognizer(longgesture)
ขั้นตอนที่ 5 − สร้างฟังก์ชัน longPress และเพิ่มโค้ดด้านล่าง
@objc func longPress(_ sender: UILongPressGestureRecognizer) { let alertController = UIAlertController(title: "Long Press", message: "Long Press Gesture Detected", preferredStyle: .alert) alertController.addAction(UIAlertAction(title: "OK", style: .default,handler: nil)) present(alertController, animated: true, completion: nil) }
ขั้นตอนที่ 6 − เสร็จแล้ว เรียกใช้แอปพลิเคชัน อย่าลืมแตะปุ่มเป็นเวลา 2 วินาที