मेरे पास वैकल्पिक रंगीन UITableViewCells के साथ UITableView है। और तालिका संपादित की जा सकती है: पंक्तियों को फिर से व्यवस्थित और हटाया जा सकता है। पंक्तियों को फिर से व्यवस्थित या हटाए जाने पर, मैं पृष्ठभूमि रंग को बदलने वाले कक्षों को कैसे अपडेट करूं?पंक्तियों को फिर से व्यवस्थित या हटाए जाने पर वैकल्पिक रंगीन UITableViewCells को अपडेट करना
मैं इस का उपयोग कर रहा बारी रंग कोशिकाओं आकर्षित करने के लिए:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([indexPath row] % 2) {
// even row
cell.backgroundColor = evenColor;
} else {
// odd row
cell.backgroundColor = oddColor;
}
}
लेकिन जब एक पंक्ति पुनर्क्रमित या नष्ट कर दिया जाता है इस विधि नहीं बुलाया जा रहा है। और मैं निम्न विधि से [tableView reloadData]
कॉल नहीं कर सकते, क्योंकि यह एक अनंत लूप में अनुप्रयोग क्रैश हो:
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
// Move the object in the array
id object = [[self.list objectAtIndex:[fromIndexPath row]] retain];
[self.list removeObjectAtIndex:[fromIndexPath row]];
[self.list insertObject:object atIndex:[toIndexPath row]];
[object release];
// Update the table ???
[tableView reloadData]; // Crashes the app in an infinite loop!!
}
किसी को भी एक सूचक या एक सर्वोत्तम प्रथाओं बारी रंग कोशिकाओं को पुन: क्रम के मुद्दे से निपटने का हल है?
धन्यवाद
धन्यवाद! वह चाल है। –