क्या हो रहा है यह है कि जब UITableViewCell पुनरावृत्ति नियंत्रण दिखाता है तो यह उपखंडों की सरणी में एक खाली, 1 पिक्सेल चौड़ा, सफेद UIView भी जोड़ता है।
स्पष्ट रूप से: यह एक बग है जिसे ऐप्पल को ठीक करना चाहिए।
हालांकि, आप हर बार दिखाई देने वाले परेशान दृश्य को ढूंढकर और इसके पृष्ठभूमि रंग को पारदर्शी रूप से सेट करके इसे प्राप्त कर सकते हैं। त्वरित टिप: कष्टप्रद सफेद दृश्य हमेशा UITableViewCell के सबव्यूज़ सरणी में अंतिम होता है और हमेशा 1 पिक्सेल चौड़ा होता है। हम इसे खोजने के लिए इसका इस्तेमाल करेंगे।
जब आप तालिका के लिए संपादन चालू करते हैं, तो सभी दृश्यमान परेशान 1 पिक्सेल दृश्य पारदर्शी बनाएं। तो कार्रवाई विधि है जो मेज पर "संपादित करें" मोड टॉगल इस प्रकार दिखाई देंगे:
- (IBAction)edit:(id)sender
{
[tableView setEditing:!tableView.editing animated:YES];
for (UITableViewCell *cell in [tableView visibleCells])
{
if (((UIView *)[cell.subviews lastObject]).frame.size.width == 1.0)
{
((UIView *)[cell.subviews lastObject]).backgroundColor =
[UIColor clearColor];
}
}
}
और के रूप में वे अपने UITableViewDelegate में इस लागू करने से दिखाई देने लगते हैं सभी नए विचारों के लिए ऐसा करने का ध्यान रखें:
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell]
forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (((UIView *)[cell.subviews lastObject]).frame.size.width == 1.0)
{
((UIView *)[cell.subviews lastObject]).backgroundColor =
[UIColor clearColor];
}
}
समस्या को ठीक करने के लिए यह हैक काफी निर्दोष है और यदि ऐप्पल भविष्य में बग को ठीक करता है (कष्टप्रद 1 पिक्सेल दृश्य जोड़ना बंद करें), तो यह कोड चुपचाप कुछ भी करना बंद कर देना चाहिए।
स्रोत
2009-05-18 01:57:04
यह एक आकर्षण की तरह काम करता है। धन्यवाद मैट। मैं मानता हूं कि यह वांछनीय व्यवहार नहीं है इसलिए मैं ऐप्पल के साथ एक बग फाइल करूंगा। –
एक्सकोड 3.2.4 और आईओएस एसडीके 4.1 में यह कोशिश करते समय, ऑब्जेक्ट अंतिम तत्व नहीं है, अंतिम तत्व नहीं है। यह काम नहीं किया। – chrish