iOS में स्वाइप जेस्चर हैंडल करना
iOS एप्लिकेशन में जेस्चर हैंडल करने के लिए हम Swift के साथ एक एप्लिकेशन बनाएंगे और एक उदाहरण की मदद से देखेंगे। इसे दो तरीकों से किया जा सकता है: स्टोरीबोर्ड के साथ या प्रोग्रामेटिकली।
विधि 1: स्टोरीबोर्ड के साथ
सबसे पहले हम अपने ऑब्जेक्ट लाइब्रेरी से एक स्वाइप जेस्चर रिकॉग्नाइजर ड्रैग करेंगे और उसे उस व्यू कंट्रोलर में ड्रॉप करेंगे जिसमें हम स्वाइप जेस्चर जोड़ना चाहते हैं।
फिर जेस्चर पर क्लिक करें, कंट्रोल दबाकर अपने व्यू कंट्रोलर क्लास में ड्रैग करें ताकि इसका कनेक्शन बन सके।
सुनिश्चित करें कि उस एक्शन का सेंडर UISwipeGestureRecognizer है और एक्शन कुछ इस तरह दिखता है:
@IBAction func swipeMade(_ sender: UISwipeGestureRecognizer) { }
अब iOS में स्वाइप जेस्चर इसके डायरेक्शन प्रॉपर्टी में किए गए स्वाइप की दिशा प्रदान करता है। डायरेक्शन एक एनम है जिसके ये संभावित मान हैं:
- Right
- Left
- Down
- Up
स्वाइप जेस्चर केवल एक दिशा में स्वाइप को हैंडल कर सकता है, या तो लेफ्ट, राइट, अप या डाउन। इसलिए हमें एक और स्वाइप जेस्चर रिकॉग्नाइजर बनाने की आवश्यकता है और एट्रिब्यूट इंस्पेक्टर से इसकी दिशा को लेफ्ट सेट करें।
नए रिकॉग्नाइजर के एक्शन को हमारे पहले रिकॉग्नाइजर के एक्शन से कनेक्ट करना भी याद रखें।
अब हम इस मेथड का उपयोग डायरेक्शन प्रॉपर्टी के साथ स्वाइप हैंडल करने के लिए करेंगे। स्टोरीबोर्ड से करने के अलावा, हम इसे प्रोग्रामेटिकली भी कर सकते हैं।
विधि 2: प्रोग्रामेटिकली
प्रोग्रामेटिकली जेस्चर रिकॉग्नाइजर बनाने के लिए हमें अपने viewDidLoad में निम्नलिखित कोड जोड़ना होगा।
var leftRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeMade(_:)))
leftRecognizer.direction = .left
var rightRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeMade(_:)))
rightRecognizer.direction = .right
self.view.addGestureRecognizer(leftRecognizer)
self.view.addGestureRecognizer(rightRecognizer)
दोनों विधियों में, नीचे दिखाया गया swipeMade एक्शन समान रहना चाहिए।
@IBAction func swipeMade(_ sender: UISwipeGestureRecognizer) {
if sender.direction == .left {
print("left swipe made")
}
if sender.direction == .right {
print("right swipe made")
}
}
जब हम इस एप्लिकेशन को अपने डिवाइस पर चलाते हैं, तो हम कोई इंटरफेस नहीं देखते क्योंकि इस समय हमारा व्यू खाली है लेकिन जब हम लेफ्ट या राइट स्वाइप करते हैं तो हमें कंसोल में आउटपुट मिलता है जो दिखाता है कि किसी भी दिशा में स्वाइप किया गया था।
