2011-08-23 6 views
5

से एक और uicontrol चुनें मैं अपने प्रोग्राम के बनाया uitextfieldtextfieldDidEndEditing विधि निकाल दिया नहीं है जब मैं अंत संपादन, और पाठ फ़ील्ड

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField 
{ 
[textField resignFirstResponder]; 
return YES; 
} 

में उपयोग कर रहा हूँ कि मेरे पाठ फ़ील्ड editing.In घटनाओं है कि मैं बदल किया जाता है एक घटना को पकड़ने के लिए एक टेक्स्ट फ़ील्ड से दूसरे में फोकस करें या वापसी दबाएं, ईवेंट निकाल दिया गया है, लेकिन अगर मैं टेक्स्टफील्ड में हूं और उसके बटन से दूसरे यूआईकंट्रोल पर क्लिक करता हूं, तो इस विधि को नहीं निकाल दिया जाता है। यहाँ क्या गलत है ... मुझे इसकी ज़रूरत है जब किसी उपयोगकर्ता ने टेक्स्टफील्ड संपादित किया हो तो हर घटना को पकड़ें। मैं textfielddidendediting भी साथ की कोशिश की लेकिन इस घटना missed..How काबू पाने के लिए है इस

उत्तर

6

आप में बटन .write कोड पर क्लिक करते हैं - (IBAction) विधि

[yourTextField resignFirstResponder]; तो उन विधि को बुलाया जाएगा।

- (IBAction) yourBtnClicked:(id)sender 
{ 
    [textField resignFirstResponder]; 
} 
+1

ठीक है, लेकिन कैसे पकड़ने के लिए जो 'textField' आप कस्टम उपयोग कर रहे हैं' UITableViewCell' है? – new2ios

+0

कक्षा पैरामीटर के रूप में अपने UITextField चर घोषित करें – Kaptain

2

यहाँ क्या होता है यह है कि आप किसी पाठ फ़ील्ड संपादन कर रहे हैं और फिर आप एक UIButton या कुछ और तो UITextfield के लिए प्रतिनिधि पद्धतियों को बुलाया नहीं किया जाएगा पर क्लिक करते हैं।

इसके लिए, आपको उस बटन के लिए कोड के अंदर उस टेक्स्टफील्ड के लिए कोड लिखना होगा।

आप सभी की जरूरत है,

//inside your btn action 
    - (IBAction) btnPressed : (id) sender 
    { 
     [self textFieldDidEndEditing:myTextField]; 
     //remaining code goes here.... 
    } 
संबंधित मुद्दे