2011-04-11 14 views
5

के आधार पर UITableViewCell की संपादन शैली अपडेट करें मैं आईपैड संपर्कों के समान एक टेबल-आधारित इंटरफ़ेस बना रहा हूं, जिसमें उपयोगकर्ता नीचे पंक्ति में एक खाली पंक्ति टैप करके पंक्तियों की सूची में जोड़ सकता है। तालिका हमेशा संपादन मोड में होती है, और गैर-खाली पंक्तियों में बाईं ओर एक मानक हटाने संपादन आइकन होना चाहिए। जैसे ही उपयोगकर्ता अंतिम खाली पंक्ति में टाइप करना शुरू कर देता है, बाईं ओर एक डिलीट आइकन जोड़ा जाना चाहिए (और एक नई खाली पंक्ति जोड़ा गया)।सामग्री

क्या कोई जानता है कि UITableView को मांग पर संपादन शैली को कैसे अपडेट किया जाए? सबकुछ काम करता है, सिवाय इसके कि डिलीट आइकन तब तक प्रकट नहीं होता जब तक कि उपयोगकर्ता पंक्ति से बाहर नहीं स्क्रॉल करता है और फिर वापस देखता है।

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 
      editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (/* text field contains data */) 
    { 
     return UITableViewCellEditingStyleDelete; 
    } 
    else 
    { 
     return UITableViewCellEditingStyleNone; 
    } 
} 

उत्तर

10

मैंने कल भी यही समस्या लड़ी। आपको मूल रूप से तालिका दृश्य की संपादन मोड संपत्ति को टॉगल करना होगा। ऐसा करने के बाद, यह आपके सेल के संपादन स्टाइल को रीफ्रेश करेगा।

self.tableView.editing = NO; 
self.tableView.editing = YES; 

यह वही है मुझे ऐसा लगता है संपर्कों एप्लिकेशन के रूप में प्रभाव का ठीक उसी तरह की देता है:

यहाँ कोड है कि मेरे लिए काम कर देता है है। कम से कम, यह आपके संपादन स्टाइल को रीफ्रेश करेगा।

+0

यह काम करता है, धन्यवाद! हो सकता है कि मुझे इसे एक नए प्रश्न में पूछना चाहिए, लेकिन क्या आपको हटाए गए आइकन टैप किए जाने पर सक्रिय उत्तरदाता UITextField के कर्सर को हटाने का कोई तरीका भी मिला, जैसा कि संपर्क करता है? –

+0

नहीं, मैंने कभी ऐसा नहीं देखा क्योंकि यह ऐसा कुछ नहीं था जिसे मैं वास्तव में संभालने से चिंतित था। –

+0

इच्छा है कि मुझे यह कुछ घंटों पहले मिलेगा। – smparkes

0

पंक्ति पर reloadRowsAtIndexPaths:withRowAnimation: से कॉल करके संपादित किया जा रहा:

यहाँ मेरी editingStyleForRowAtIndexPath कार्यान्वयन है। (मुझे यकीन नहीं है कि क्या यह आपके टेक्स्ट फ़ील्ड पर पहली प्रतिक्रियाकर्ता स्थिति को गड़बड़ कर देगा या नहीं।)

+0

हां, दुर्भाग्य से यह पहले उत्तरदाता को गड़बड़ कर देता है। –

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