Ho un UIViewController
con un colore di sfondo personalizzato. Sopra di esso c'è uno UITableView
con UITableViewCells
semitrasparente (colore bianco con opacità 0,5).Trasparente UITableViewCell sfondo lampeggiante durante l'animazione
Il problema di cui sto incolpando e quello che sto sbattendo la testa contro il muro è in iOS 7, quando si dispone di uno UITableViewCell
con sfondo semitrasparente e si tenta di eliminare/inserire/spostare le righe (quindi basandosi su un effetto di animazione) l'intero UITableView
con le sue celle lampeggiante per appena 0,1 secondi e imposta lo sfondo delle celle su uno più trasparente. Questo è molto fastidioso.
L'unica cosa che sto facendo è impostare il colore di sfondo del self.view
con:
self.view.backgroundColor = [UIColor colorWithRed:0.4 green:0.5 blue:0.7 alpha:1];
e impostare il colore di sfondo delle celle con:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
}
Ecco un gif che vi mostra il problema :
E lui è il progetto super-semplice: https://github.com/socksz/TransparentCellFlashing
Per favore aiutami a risolvere questo ridicolo problema! : P
Qual è il colore del vostro UITableView sfondo? Se ne hai impostato uno, prova a impostarlo su "clear" (o su qualsiasi colore a tua scelta) nel tuo xib/storyboard. Normalmente in iOS7, è impostato su "predefinito", che è la causa della maggior parte di questi problemi. –
Sembra che non importi. Ho provato a impostare il colore di sfondo di 'self.view' (che è la vista tabella) a' [UIColor clearColor] 'e ho anche cercato di incorporare la vista tabella in un' UIView' (la vista principale del controller vista) e impostare il colore di sfondo di questa vista per cancellare. Non funziona –
Oh OK. Quindi probabilmente dovrai sovrascrivere la proprietà setSelected() del tuo UITableViewCell sottoclassi. O almeno utilizzare la proprietà backgroundView anziché backgroundColor. –