2009-05-13 22 views
10

में डिलीवरी एक्सेसरी व्यू को बदलना क्या एक यूआईटीबल व्यू के UITableViewCell में बाएं से दाएं "मैं इस पंक्ति को हटाना चाहता हूं" के जवाब में दिखाया गया दृश्य बदलना संभव है?UITableViewCell

वर्तमान में 'हटाएं' बटन अन्य सभी UITableViewCell अनुकूलन विकल्पों को अनदेखा करता प्रतीत होता है।

उत्तर

15

कोशिकाओं को हटाने के बारे में मुश्किल बात यह है: जब आप "हटाएं" बटन दिखाने के लिए बाएं से दाएं स्वाइप करते हैं, तो UITableViewCell UITableViewCellStateShowingDeleteConfirmationMask स्थिति पर जाता है, लेकिन UITableViewCellStateEditingMask स्थिति सेट नहीं करता है। इसका मतलब है कि आप संपादन स्थिति के लिए accessoryView नहीं बदल सकते हैं।

इस पर जाने का तरीका UITableViewCell की willTransitionToState: विधि को देखना है। आप क्या कर सकते हैं इस विधि को कॉल को अवरुद्ध कर दिया है जो आपके सेल को हटाए गए पुष्टिकरण स्थिति में रखेगा और सामान्य रूप से दिखाए गए "हटाएं" पुष्टिकरण बटन के बजाय अपने स्वयं के विचार दिखाएगा।

अधिक जानकारी के लिए, the docs पर willTransitionToState: के लिए UITableViewCell के लिए देखें।

+1

धन्यवाद टिम। इससे मुझे संपादन मोड में जाने के लिए स्वाइप को अवरुद्ध करने की सुविधा मिलती है, लेकिन मुझे यह स्पष्ट नहीं है कि UITableViewCell को अपना 'डिलीट' बटन प्रदर्शित करने से कैसे रोकें। वर्तमान में ऐसा होता है जब मैं सुपर पर संदेश भेजता हूं - जो दस्तावेज कहता है अनिवार्य है। क्या आप यह भी प्रस्तावित कर रहे हैं कि ऐसा करने का एकमात्र तरीका मेरा यूआईबटन जोड़ना है और डेटा स्रोत पर निर्भर होने के बजाय खुद को हटाएं तारों को देखें: देखें एडिटिंग स्टाइल: forRowAtIndexPath :? ऐसा लगता है कि डिलीट हैंडलिंग सभी UITableViewCell अनुकूलन विकल्पों को छोड़ देता है। –

+0

एचएम। मुझे पूरा यकीन नहीं है कि UITableViewCell के अंतर्निर्मित हटाए गए बटन के प्रदर्शन को पूरी तरह दबाएं, जब तक आप सुझाव देते हैं और सुपर विधि को कॉल करने के बदले अपना खुद का डिलीट बटन सेट नहीं करते हैं। आप शायद ट्रांज़िशन टॉस्टेट को रोक सकते हैं: संदेश जो इसे हटाए गए मोड में रखते हैं और तालिका को संपादन मोड में रखने के लिए उन्हें दोबारा शुरू करते हैं, जो (आईआईआरसी) एक डिलीट कंट्रोल भी प्रदान करता है (छोटे लाल ऋण चिह्न)। – Tim

+0

वह डोडी लगता है। मुझे लगता है कि अब मैं ऐप्पल बटन के आसपास काम करूंगा और यदि मेरे पास समय है कि मैं अपना स्वाइप डिटेक्शन लागू करूँ और नियंत्रण हटा दूं। –