2011-07-28 12 views
5

मैं आईपैड पर कीबोर्ड छिपाने की कोशिश करता हूं लेकिन मुझे नहीं पता कि क्यों इस्तीफा देना फर्स्ट रेस्पॉन्डर काम नहीं करता है। लेकिन popToRoot ने अच्छी तरह से काम किया है।इस्तीफा फर्स्ट रेस्पॉन्डर काम नहीं करते?

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    NSString *desc = [NSString stringWithFormat:@"%@",[descTF text]]; 
    [textField resignFirstResponder]; 
    [self.navigationController popToRootViewControllerAnimated:YES]; 


    return YES; 
} 

तो क्या आप मुझे मार्गदर्शन कर सकते हैं कृपया मुझे क्या करना चाहिए ??

+0

http://stackoverflow.com/questions/3124828/resignfirstresponder-not-hiding-keyboard-on-textfieldshouldreturn –

+0

मैं डाल करने के लिए प्रयास करें - (bool) disablesAutomaticKeyboardDismissal { वापसी नहीं; } मेरे कोड पर - (BOOL) textFieldShouldReturn: (UITextField *) textField {...} लेकिन कीबोर्ड अभी भी छिपा नहीं है। मेरे द्वारा पोस्ट किए गए लिंक में – crazyoxygen

+0

, समस्या ऐप्पल से एक बग हो सकती है। –

उत्तर

19

क्या यह क्षेत्र UIModalPresentationFormSheet के अंदर है? यदि ऐसा है, तो यह ज्ञात समस्या है कि जब तक दृश्य नियंत्रक को खारिज नहीं किया जाता है तब तक आप कीबोर्ड प्रोग्राम को तब तक खारिज नहीं कर सकते हैं।

अद्यतन: this thread Apple डेवलपर मंच से के अनुसार, इस के लिए एक संभावित समाधान, एक नेविगेशन नियंत्रक उपवर्ग कि disablesAutomaticKeyboardDismissal विधि को लागू करता है अंदर से चादर दृश्य नियंत्रण पेश करने के लिए है। तो कुछ ऐसा:

MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]; 
CustomNavigationController *navController = [[CustomNavigationController alloc] initWithRootViewController:myViewController]; 
theNavigationController.modalPresentationStyle = UIModalPresentationFormSheet; 
[self presentModalViewController:theNavigationController animated:YES]; 
+0

ऐप्पल डेवलपर फ़ोरम थ्रेड के लिए संभावित वर्कअराउंड और लिंक जोड़ा गया। – samvermette

0

क्या आपने UITextFieldDelegate लागू किया था? यदि आपने इसे तब लागू किया था, तो इसे काम करना चाहिए।

+0

मैं पहले से ही जोड़ता हूं। और लिंक @xib फ़ाइल को भी लिंक करें। टी^टी लेकिन यह अभी भी छुपा नहीं था। – crazyoxygen

+0

'textField.returnKeyType = UIReturnKeyDone'? – Legolas

+0

त्रुटि क्या आप मुझे मार्गदर्शन कर सकते हैं "textField.returnKeyType = UireturnKeyDone" के लिए मुझे क्या करना चाहिए ??? – crazyoxygen

1

आपको -resignFirstResponder भेजने का अवसर कभी नहीं होना चाहिए। आपको क्या करना चाहिए प्रश्न में देखने के लिए बस -endEditing:YES भेजें।

7

समवर्मेट के उत्तर पर अनुवर्ती करने के लिए, यदि यह UIModalPresentationFormSheet के अंदर है तो आप अब इच्छित व्यवहार प्राप्त करने के लिए disablesAutomaticKeyboardDismissal विधि को ओवरराइड कर सकते हैं। अपनी कक्षा में निम्न विधि जोड़ें और UITextFields और UITextViews इस्तीफा देने का जवाब देगा फर्स्ट रेस्पॉन्डर।

- (BOOL)disablesAutomaticKeyboardDismissal { 
    return NO; 
} 
+0

कूल! इसने काम कर दिया! –

+1

+1 यह वास्तव में चयनित उत्तर होना चाहिए (जाहिर है मूल चयनित उत्तर एक समय में सही था)। धन्यवाद बीटीडब्ल्यू। – Firo

0

(क्षमा याचना ... इस StackOverflow साइट जहां मैं इसे ठीक कर रहा हूँ पोस्ट पर चौथे स्थान पर है ..)

मैं iOS 7 XCode 5 & साथ विशाल समस्या नहीं थी, प्राप्त करने की कोशिश छिपाने के लिए ऑनस्क्रीन कीबोर्ड।

आखिरकार, मुझे एक बहुत ही सरल समाधान मिला: मैंने अभी अपने फॉर्म में UITextFields को अक्षम कर दिया है। जादुई रूप से, यह ऑनस्क्रीन कीबोर्ड स्लाइड को दूर करने के लिए पर्याप्त था।

अधिक जानकारी here

हैरानी की बात है, यह और भी मॉडल UIViewControllers पर काम करता है। हाँ, यह मुझे भी आश्चर्यचकित !!

संबंधित मुद्दे

 संबंधित मुद्दे