2012-05-17 13 views
5

मेरे पास एक ऐसा दृश्य है जिसमें UITableView शामिल है। जब उपयोगकर्ता स्वाइप करता है तो मैं सेल पर डिलीट बटन दिखाने में सक्षम हूं।डिलीट बटन UItableviewcell छुपाया गया था या नहीं पता कैसे?

यदि उपयोगकर्ता हटाएं बटन को छूता है तो एक विधि ट्रिगर की जाएगी (यह ठीक काम करती है)। लेकिन यदि उपयोगकर्ता सेल को हटाने का निर्णय नहीं लेता है और वह हटाए गए बटन को छिपाने के लिए दृश्य में कहीं भी छूता है।

मैं इसका पता कैसे लगा सकता हूं?

उत्तर

3

उपयोगकर्ता एक सेल में नष्ट निशान के बाहर टैप करता जब के रूप में, अपने कार्यक्रम तालिका दृश्य प्रतिनिधि पर tableView:didEndEditingRowAtIndexPath: के लिए एक कॉल प्राप्त करना चाहिए।

+0

काम करता है। धन्यवाद :) – Kassem

+0

यह संपादन मोड से काम नहीं करता प्रतीत होता है। –

3

[UITableViewCell showingDeleteConfirmation]

या

UITableViewCellStateShowingDeleteConfirmationMask साथ [UITableViewCell willTransitionToState:] पैरामीटर

1

आपके UITableViewCell उपclass में WillTransitionToState: विधि लागू करें। इस विधि को UITableView द्वारा लागू किया जाता है जब सेल को संपादित स्थिति से/में परिवर्तित किया जा रहा है।

कक्षा के कार्यान्वयन में आपको यह निर्धारित करने के लिए विधि में पारित मास्क पैरामीटर का सशर्त रूप से जांच करने की आवश्यकता होगी कि सेल किस स्थिति में/से संक्रमण कर रहा है। मुखौटा वाले संभावित मान रहे हैं ...

enum { 
    UITableViewCellStateDefaultMask      = 0, 
    UITableViewCellStateShowingEditControlMask   = 1 << 0, 
    UITableViewCellStateShowingDeleteConfirmationMask = 1 << 1 
}; 

अपने मामले में आप UITableViewCellStateDefaultMask को संक्रमण तो अपने कार्यान्वयन इस प्रकार होगी के लिए देखना चाहते हैं जाएगा ...

- (void)willTransitionToState:(UITableViewCellStateMask)state { 
    if (state == UITableViewCellStateDefaultMask) { 
     // User has switched back to default state... 
     // ... 
    } 
} 
संबंधित मुद्दे

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