UIAlert को समझना और इम्प्लीमेंट करना ट्रिकी हो सकता है खासकर यदि आप iOS डेवलपमेंट में नए हैं। इस पोस्ट में, हम देखेंगे कि जब यूजर अलर्ट बॉक्स के बाहर टैप करता है तो अलर्ट कैसे डिसमिस करें।
इस डेमो के लिए, हम UIAlert क्लास का उपयोग करेंगे, अलर्ट और एक्शन शीट्स को उस मैसेज के साथ कॉन्फिगर करने के लिए जिसे आप प्रदर्शित करना चाहते हैं और उन एक्शन्स से जिनमें से चुनना है। अलर्ट कंट्रोलर को आपके इच्छित एक्शन्स और स्टाइल के साथ कॉन्फिगर करने के बाद, present(_:animated:completion:) मेथड का उपयोग करके प्रस्तुत करें। UIKit अलर्ट और एक्शन शीट्स को आपके ऐप के कंटेंट पर मोडली प्रदर्शित करता है।
इसके बारे में यहाँ और पढ़ें: https://developer.apple.com/documentation/uikit/uialertcontroller
शुरुआत करते हैं
चरण 1: प्रोजेक्ट बनाएं
Xcode खोलें और सिंगल व्यू एप्लिकेशन बनाएं और नाम दें "UIAlertSample"
चरण 2: बटन जोड़ें
Main.storyboard में एक बटन जोड़ें, और @IBAction बनाएं और नाम दें showAlert,
@IBAction func showAlert(_ sender: Any) { }
तो मूल रूप से, जब हम बटन पर टैप करते हैं तो एक अलर्ट प्रदर्शित होगा, जब यूजर अलर्ट के बाहर टैप करता है तो अलर्ट डिसमिस हो जाएगा।
चरण 3: UIAlert ऑब्जेक्ट बनाएं
बटन एक्शन showAlert के अंदर, पहले नीचे दिखाए अनुसार UIAlert ऑब्जेक्ट बनाएं।
let uialert = UIAlertController(title: "WELCOME", message: "Welcome to my tutorials, tap outside to dismiss the alert", preferredStyle: .alert)
चरण 4: अलर्ट प्रस्तुत करें और कम्पलीशन में सेलेक्टर जोड़ें
self.present(uialert, animated: true, completion: {
uialert.view.superview?.isUserInteractionEnabled = true
uialert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutside)))
})
चरण 5: सेलेक्टर फंक्शन जोड़ें
@objc func dismissOnTapOutside(){
self.dismiss(animated: true, completion: nil)
}
चरण 6: एप्लिकेशन चलाएं
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func showAlert(_ sender: Any) {
let uialert = UIAlertController(title: "WELCOME", message: "Welcome to my tutorials, tap outside to dismiss the alert", preferredStyle: .alert)
self.present(uialert, animated: true, completion: {
uialert.view.superview?.isUserInteractionEnabled = true
uialert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutside)))
})
}
@objc func dismissOnTapOutside(){
self.dismiss(animated: true, completion: nil)
}
}