Long-press (press-and-hold দিয়েও পরিচিত) জেসচার এক বা একাধিক আঙ্গুল স্ক্রিনে প্রসারিত সময় স্পর্শ করলে ডিটেক্ট করে। আপনি ন্যূনতম ডিউরেশন কনফিগার করতে পারেন প্রেস রিকগনাইজ করার জন্য এবং আঙ্গুল কতবার স্পর্শ করবে সেটাও। (জেসচার রিকগ্নাইজার শুধু স্পর্শের ডিউরেশন দ্বারা ট্রিগার হয়, ফোর্স দ্বারা নয়।) আপনি লং-প্রেস জেসচার ব্যবহার করতে পারেন প্রেস করা অবজেক্টে কোনো অ্যাকশন শুরু করতে। উদাহরণস্বরূপ, একটি কনটেক্সট-সেনসিটিভ মেনু দেখানোর জন্য।
আরো জানুন: https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures/handling_long-press_gestures
এখানে আমরা একটি সিম্পল অ্যাপ্লিকেশন ডিজাইন করব যেখানে একটি বাটন নির্দিষ্ট সময় (Long press) ধরে রাখলে একটি অ্যালার্ট দেখাবে।
চলুন শুরু করি।
Step 1 − Xcode → New Project → Single View Application → নাম দিন "LongPressGesture"
Step 2 − Main.storyboard-এ একটি বাটন যোগ করুন এবং এর @IBOutlet তৈরি করুন, নাম দিন "btnLongOutlet"
Step 3 − এখন ViewController.swift খুলুন এবং UILongPressGestureRecognizer() অবজেক্ট তৈরি করুন।
var longgesture = UILongPressGestureRecognizer
Step 4 − viewDidLoad()-এ নিচের কোড যোগ করুন,
longgesture = UILongPressGestureRecognizer(target: self, action: #selector(ViewController.longPress(_:)))
longgesture.minimumPressDuration = 2
btnLongOutlet.addGestureRecognizer(longgesture)
Step 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)
}
Step 6 − এবার রান করুন, নিশ্চিত করুন বাটনটি ২ সেকেন্ড ধরে রাখেন।
