IOS ऐप्स में कभी-कभी हमें अपने टेक्स्ट फ़ील्ड को इनपुट के रूप में केवल नंबर लेने के लिए प्रतिबंधित करने की आवश्यकता होती है, यह कई तरीकों से किया जा सकता है, आइए उनमें से कुछ को देखें।
विधि 1:स्टोरीबोर्ड से टेक्स्ट फ़ील्ड प्रकार बदलना।
- उस टेक्स्ट फ़ील्ड का चयन करें जिसे आप संख्यात्मक इनपुट तक सीमित रखना चाहते हैं।
- इसके विशेषता निरीक्षक के पास जाएं।
- कीबोर्ड प्रकार चुनें और वहां से नंबर पैड चुनें।
विधि 2:क्रमानुसार इनपुट को संख्या तक सीमित करना।
- पाठ क्षेत्र का चयन करें
- व्यू कंट्रोलर में इसका आउटलेट बनाएं।
- व्यू कंट्रोलर को UITextFieldDelegate के अनुरूप बनाएं
- टेक्स्ट फ़ील्ड का प्रतिनिधि सेट करें
- निम्न फ़ंक्शन जोड़ें
func textField(_ textField:UITextField, shouldChangeCharactersIn रेंज:NSRange, प्रतिस्थापनस्ट्रिंग स्ट्रिंग:स्ट्रिंग) -> बूल {अगर x =string.rangeOfCharacter (से:NSCharacterSet.decimalDigits) {वापसी सच} और {झूठी वापसी}}पूर्व>हमारा पूरा उदाहरण वर्ग ऐसा दिखता है
<पूर्व> UIKitclass ViewController आयात करें:UIViewController, UITextFieldDelegate {@IBOutlet कमजोर संस्करण tf:UITextField! ओवरराइड func viewDidLoad() {tf.delegate =self super.viewDidLoad() } func textField(_ textField:UITextField, shouldChangeCharactersIn रेंज:NSRange, रिप्लेसमेंटस्ट्रिंग स्ट्रिंग:स्ट्रिंग) -> बूल { अगर x =string.rangeOfCharacter (से:NSCharacterSet) .decimalDigits) {रिटर्न ट्रू} और {रिटर्न फॉल्स}}}
यह एक टेक्स्ट फ़ील्ड बनाएगा जो केवल अंकों को इनपुट के रूप में ले सकता है और कोई अन्य वर्ण नहीं।