मैंने Google और Stackoverflow पर घंटों की खोज की है, लेकिन कोशिश की लेकिन कोई किस्मत नहीं।UITapGestureRecognizer के साथ didSelectRowAtIndexPath विधि को कैसे कॉल करें?
मेरे पास UITableView tblDepartment
और ऊपर UISearchBar studentSearch
है।
मैं एक UITapGestureRecognizer
जोड़ने studentSearch
पाठ बॉक्स से कीबोर्ड ख़ारिज करने के लिए उपयोगकर्ताओं द्वारा खोज बॉक्स के बाहर नल:
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.tblDepartment addGestureRecognizer:gestureRecognizer];
- (void)hideKeyboard
{
[studentSearch resignFirstResponder];
}
उसके बाद, विधि didSelectRowAtIndexPath:(NSIndexPath *)indexPath
अब और जब मैं tblDepartment
में पंक्ति का चयन नहीं बुलाया जाता है। मुझे पता है gestureRecognizer
कारण है।
तो, मैं कीबोर्ड को कैसे छुपा सकता हूं और फिर भी उपयोगकर्ता को पंक्ति का चयन करने की अनुमति देता हूं?
मैं इस कोड की कोशिश की, लेकिन यह काम नहीं किया:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isDescendantOfView:tblDepartment]) {
return NO;
}
return YES;
}
क्या आप इशारा पहचानकर्ता को हटा सकते हैं, और 'tableView: didSelectRowAtIndexPath:' से पहले उत्तरदाता को इस्तीफा दे सकते हैं? – dasblinkenlight
'इस्तीफा फर्स्ट रेस्पॉन्डर' – ohr
@dasblinkenlight के बाद अपने इशारा पहचानकर्ता को हटाने का प्रयास करें: आपकी टिप्पणी के लिए धन्यवाद। 'TblDepartment' में लगभग 7 पंक्तियां हैं और कीबोर्ड प्रदर्शित होने पर उन्हें ओवरलैप करता है। मैं चाहता हूं कि उपयोगकर्ता पंक्तियों का चयन करने में सक्षम हों, यदि वे खोजना नहीं चाहते हैं :) तो जब वे खोज बॉक्स के बाहर टैप करते हैं, तो कीबोर्ड को खारिज कर दिया जाता है और वे नीचे पंक्तियों का चयन कर सकते हैं। –