2009-07-30 23 views
7

मैं उपयोगकर्ता के उपयोगकर्ता नाम को UITableView के अंदर संपादित करना चाहता हूं। मैंने UITextViewCell में UITextField जोड़ा और यह बहुत अच्छी तरह से काम करता प्रतीत होता है। लेकिन जब उपयोगकर्ता सेल को छूता है (टेक्स्टफील्ड के बाहर भी), तो उसे संपादित करने की उम्मीद है।UITextField का चयन कैसे करें?

मैं प्रोग्रामेटिक रूप से टेक्स्टफील्ड का चयन कैसे करूं?

कोड कुछ ऐसा दिखाई देगा:

- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
userName.selected = TRUE; 
} 

उत्तर

14
- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cellSelected = [tableView cellForRowAtIndexPath: indexPath]; 
    UITextField *textField = [[cellSelected.contentView subviews] objectAtIndex: 0]; 
    [textField becomeFirstResponder]; 

    [tableView deselectRowAtIndexPath: indexPath animated: NO]; 

} 

इसका मतलब यह है आप को पता है जो UITextField वस्तु जिसमें सेल है कोई तेज तरीका है, और आप यह सुनिश्चित करें कि UITextField हो जाएगा के लिए पता है कि कि पहला सबव्यूव

आप शायद [टेक्स्टफिल्ड isFirstResponder] के लिए एक चेक डालना चाहते हैं - इसे पहले रेस्पॉन्डर बनाने में कोई बिंदु नहीं है अगर यह पहले से ही है। हालांकि यह आवश्यक नहीं हो सकता है।