UITableView पर iITextField के लिए संख्या कीबोर्ड को खारिज करने का सबसे शानदार तरीका - ios, uitableview

मेरे पास UITextView पर UITextField है और मैं एक संख्या कीबोर्ड का उपयोग कर रहा हूं, हालांकि मैं इसे बर्खास्त करना चाहता हूं जब उपयोगकर्ता कुछ भी क्लिक करता है लेकिन UiTextField।

मैंने कई समाधान देखा है, हालांकि ऐसा लगता है कि एक निश्चित उत्तर नहीं है। उदाहरण के लिए जेस्चर के बारे में कुछ बात करते हैं और जब मैं उन्हें लागू करता हूं तो वे नीचे दिए गए कोड का उपयोग करके काम नहीं करते हैं:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

[[self view] endEditing:TRUE];

}

जैसा कि आप देख सकते हैं कि मैं कोशिश कर रहा हूं लेकिन ऐसा कोई तरीका नहीं है जो काम कर रहा है। क्या कोई मुझे मार्गदर्शन कर सकता है?

धन्यवाद

उत्तर:

जवाब के लिए 3 № 1

आमतौर पर, आप स्पर्श को हिट-टेस्ट करना चाहते हैंउन क्षेत्रों के खिलाफ जो कीबोर्ड को खारिज नहीं करना चाहिए; लेकिन आम तौर पर आवश्यकता है कि वर्तमान में इन-फोकस नियंत्रण को "प्रथम श्रेणी" के रूप में "इस्तीफा दें" के बारे में बताने के लिए कहा जाए। यह ऐसा दिखाई दे सकता है:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.userInput resignFirstResponder];
}

हालांकि, आप एक विशेष पर विचार करना भी चाह सकते हैंइसके लिए इशारा पहचानकर्ता, ताकि आपको लंबे समय तक छूने के एनएसएससेट का अधिक विश्लेषण नहीं करना पड़े (जेस्चर रिकॉग्नाइज़र को प्रतिनिधि को वास्तविक "खारिज करने की कोशिश!" टैप के बीच अंतर निर्धारित करने का कार्य और "क्या मैं इसे स्क्रॉल कर सकता हूं ? "स्वाइप करें।


जवाब के लिए 3 № 2

आपको इसके बजाय इस्तीफा फर्स्ट रेस्पॉन्डर का उपयोग करना चाहिए:

[textField resignFirstResponder];

जवाब के लिए 2 № 3

निम्नलिखित कोड का प्रयोग करें

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
// Note the "!":
if(![[touch view] class] isKindOfClass [UITableViewController class]]){
// It"s not a bubble they touched, dismiss the keyboard:
[self.view endEditing:YES];
}
[super touchesBegan:touches withEvent:event];
}

वरना

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
// Note the "!":
if(![[touch view] class] isKindOfClass [UITableViewController class]]){
// It"s not a bubble they touched, dismiss the keyboard:
[textField resignFirstResponder];

}
[super touchesBegan:touches withEvent:event];
}

यह आप जो चाहते हैं उसे करने में मदद करता है


संबंधित सवाल
सबसे लोकप्रिय