2017-09-28 29 views
8

पर आईओएस 11 डिवाइस पर UITableViewCell को अप्रत्याशित सफेद पृष्ठभूमि को हटाने पर डिवाइस किसी कारण से दिखाई देता है हालांकि सभी पृष्ठभूमि रंग स्टोरीबोर्ड में नीले रंग में सेट होते हैं (आईओएस 10 पर ठीक काम करता है)।आईओएस 11/एक्सकोड 9: UITableViewCell सफेद पृष्ठभूमि फ़्लिकर

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 
     [self.bookmarks removeObjectAtIndex:indexPath.row];    
     [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
} 

UITableViewRowAnimation के सभी प्रकार की कोशिश की, समस्या का समाधान नहीं है।

enter image description here

+0

मुझे भी यह समस्या है। एक गैर-सफेद पृष्ठभूमि के साथ सेल के 'पृष्ठभूमि दृश्य' को सेट करने से कोई प्रभाव नहीं पड़ता है। –

+0

मैं पहले से ही टेबल व्यू 'और सेल के विचारों (सामग्री Vietr/accessoryView) पृष्ठभूमि/टिंट रंगों के बिना किसी प्रभाव के साथ खेला है ... –

+0

इस मुद्दे के लिए ऐप्पल के साथ एक बग दायर की जानी चाहिए? –

उत्तर

6

कोशिश करो (आप appearanceWhenContainedInInstancesOfClasses बजाय चुन सकते हैं)।

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    ... 

    [[UITableViewCell appearance] setBackgroundColor:[UIColor clearColor]]; 

    return YES; 
} 
+0

मैंने पुष्टि की कि यह सिम्युलेटर पर इस समस्या को ठीक कर दिया गया है। – Kawatan

+0

हां, मैंने सभी पृष्ठभूमि रंगों को साफ़ करने के लिए सेट किया है (tableView.backgroundColor को छोड़कर जो अभी भी नीला है) को छोड़कर प्रॉक्सी लागू किया गया है - यह काम करता है! धन्यवाद! –

+0

यह काम करता है! स्विफ्ट 4: 'UITableViewCell.appearance()। पृष्ठभूमि रंग = .clear' – Geek20

0

ठीक है, अगर मैं सही एक पंक्ति को हटाने के बाद तालिका दृश्य को फिर से लोड, एनीमेशन चली जाती है लेकिन कम से कम वहाँ कोई अजीब निमिष सफेद पृष्ठभूमि है:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 
     [self.bookmarks removeObjectAtIndex:indexPath.row];    
     [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone]; 
     if (@available (iOS 11, *)) 
     { 
      [self.tableView reloadData]; 
     } 
    } 
} 

enter image description here

वैसे भी यह है सबसे अच्छा समाधान नहीं है = (

0

बस एक सुझाव: सुनिश्चित करें कि सभी तत्वों में एक पारदर्शी पृष्ठभूमि रंग या हल्का नीला है जिसका आप उपयोग कर रहे हैं। जाहिर है ई वह है जो अभी भी एक सफेद पृष्ठभूमि रंग है, सेल सामग्री दृश्य (यदि आपके पास एक है) या सेल पृष्ठभूमि हो सकता है।