2010-09-19 12 views
6

मेरे अनुप्रयोगों में दो अलग-अलग टेक्स्टफील्ड हैं और मैंने दोनों की .delegate संपत्ति को सेट किया है: स्वयं। अब मैंने uitextfielddelegate प्रोटोकॉल से विभिन्न विधियों को लागू किया है, लेकिन मैं अलग-अलग दो टेक्स्टफील्ड को नियंत्रित करने में सक्षम होना चाहता हूं। उदाहरण के लिए, जब मैं दूसरे टेक्स्टफील्ड की तुलना में संपादन शुरू करता हूं तो पहला टेक्स्ट फ़ील्ड कुछ अलग करना चाहता है ... क्या इस समस्या का एकमात्र समाधान एक अलग प्रतिनिधि को असाइन करने के लिए है या क्या दोनों टेक्स्टफील्ड के साथ ऐसा करने का कोई तरीका है उन्हें सौंपा एक ही प्रतिनिधि? मुझे उम्मीद है कि मेरा प्रश्न समझ में आता है मैंने इसे सबसे अच्छा तरीका समझाने की कोशिश की ..... अग्रिम धन्यवाद!आईफोन: यूटेक्स्टफील्ड, एक ही प्रतिनिधि के साथ कई टेक्स्टफील्ड?

उत्तर

7

सेट आरंभीकरण पर पाठ फ़ील्ड पर एक tag, तो जाँच UITextField उद्देश्य यह है कि में पारित हो जाता प्रतिनिधि विधि के tag, तो आपके पास दो textfields जो भेदभाव बनाने के लिए सक्षम हो जाएगा:

#define FIELD_ONE_TAG 1 
#define FIELD_TWO_TAG 2 

UITextField *textFieldOne = ... 
textFieldOne.tag = FIELD_ONE_TAG; 
... 
UITextField *textFieldTwo = ... 
textFieldTwo.tag = FIELD_TWO_TAG; 


- (void)textFieldDidBeginEditing:(UITextField *)textField { 
    if(textField.tag == FIELD_ONE_TAG) { //field one 
    } else {//field two 

    } 
} 
7
UITextField *textFieldOne=..... 

UITextField *textFieldTwo=.... 
- (void)textFieldDidBeginEditing:(UITextField *)textField { 
if(textField == textFieldOne) 
{ // field one code 
}else{ 
//field two code 
} 
} 

में सम्मिलित टेक्स्ट दृश्यों के दो संदर्भ हैं और आप प्रतिनिधि विधियों पर उनकी तुलना कर सकते हैं। टैग

के साथ बहुत जरूरी नहीं है
संबंधित मुद्दे