पर कुछ मदद की सराहना की जाएगी!UITableView सेल रीफ्रेश करने की समस्या
मेरे पास एक कस्टम यूआईटीबल व्यू सेल है, जिसमें एक छवि (हरा, नारंगी या लाल) और विभिन्न फ़ॉन्ट आकारों में दो लेबल शामिल हैं। UITableView ऑब्जेक्ट्स के एनएसएमयूटेबलएरे द्वारा संचालित होता है।
UITableView को तीन खंडों में विभाजित किया गया है, जिसमें पहले खंड के साथ लाल छवि के साथ सभी कक्ष होते हैं, नारंगी के साथ दूसरा खंड, हरे रंग के साथ तीसरा अनुभाग होता है।
मैंने UITableView के भीतर कोशिकाओं को पुनर्व्यवस्थित करने की क्षमता लागू की है, जिससे उपयोगकर्ता लाल रंग से नारंगी अनुभाग में लाल छवि वाले एक आइटम को खींचने की अनुमति देता है। यह ड्रैगिंग बहुत अच्छा काम करता है, और अंतर्निहित डेटा सही ढंग से अपडेट किया जाता है। मुझे पता है कि यह मामला है क्योंकि यदि मैं सेल का चयन करता हूं, तो मैं इसके विस्तार दृश्य पर जाता हूं और डेटा अपडेट किया जाता है।
हालांकि, UITableView तब तक अपडेट नहीं होता जब तक कि मैं विस्तार से नहीं जाता (या ऐप से बाहर निकलता हूं) और वापस आ जाता हूं! यह अद्यतन भी करता है अगर मैं अपमानजनक सेल को दृश्य से बाहर स्क्रॉल करता हूं और फिर से देखने में वापस जाता हूं, इसलिए सरणी में स्पष्ट डेटा स्पष्ट रूप से होता है। मैं सिर्फ एक दृश्य ताज़ा ट्रिगर नहीं कर सकता!
मैं moveRowAtIndexPath में अंतर्निहित डेटा को बदलने के लिए मेरे कोड के बाद निम्नलिखित की कोशिश की है:
[self.tableView reloadData];
हालांकि इस एक अपवाद का कारण बनता है। वास्तव में ऐप्पल भाषा संदर्भ कहता है कि डालने या हटाने के दौरान पुनः लोड डेटा को कॉल नहीं किया जा सकता है, जो निश्चित रूप से मैं कर रहा हूं। इसके अलावा,
[self setNeedsDisplay];
के साथ सेल ताज़ा करने के लिए काम नहीं करता है (हालांकि यह या तो दुर्घटना नहीं करता है) सिर्फ कोशिश कर रहा।
कोई विचार है कि मैं UITableView को रीफ्रेश कैसे कर सकता हूं? मुझे बाद में नहीं मिल रहा है MowHasBeen पूर्ण: विधि या कुछ भी, इसलिए यदि मैं अपने चाल के दौरान reloadData को कॉल नहीं कर सकता RowAtIndexPath: विधि तो मैं इसे कहां कहूं ?!
या यह सिर्फ एक गंदा हैक है? क्या कोई "एनीमेशन पूर्ण" विधि है जिसका मैं उपयोग कर सकता हूं? ... – h4xxr
यह ऐप्पल डेवलपर थ्रेड पर gpmoore की पोस्ट के अनुसार ऐसा करने का सबसे अच्छा तरीका प्रतीत होता है: http://discussions.apple.com/thread.jspa ? messageID = 8450874 – Tim
यह निराशाजनक है लेकिन बहुत आश्वस्त है! धन्यवाद! – h4xxr