2012-05-15 5 views
7

Desidero omettere la linea di separazione tra due celle tableview. Ma invece di nessun separatore ottengo una linea di separazione dell'altezza di 1 pixel che viene semplicemente lasciata bianca o meglio detta completamente trasparente.ios UITableView -> UITableViewCellSeparatorStyleNon lascia una riga di un pixel di altezza in bianco

Come posso dire alla vista utente come collegare la cella successiva direttamente alla cella sopra (senza spazi vuoti)?

+0

Anche io ho appena notato che sto ottenendo questo. Io ho usato \t [m_tableView setSeparatorColor: [Colore UIColoreConRosso: 0.0f verde: 0.0f blu: 0.0f alfa: 0.0f]]; che si è sbarazzato della linea ma continua a vedere quella linea di separazione come dici tu. – sradforth

risposta

4

Ok, ho trovato la risposta per la mia e la condivido solo per aiutare gli altri.

ho impostato tutte le mie cellule fino procedurale così ho spento il separatore tramite

m_tableView setSeparatorColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]]

dopo ho impostare lo stile di separazione tramite

m_tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

anche se devo ammettere che non ha sembra fare qualsiasi cosa e questo potrebbe essere un redherring.

Per quanto mi riguarda ho trovato che cellForRowAtIndexPath è stato chiamato per configurare il cellulare e ho dovuto estendere la mia immagine di sfondo di 1 pixel in altezza per sbarazzarsi della linea (sto usando un'immagine estensibile anche per questo, che potrebbe anche essere il prestito stesso al bizzarro requisito +1). Io non sono un fan di arbitrario +1, ma questo sembrava fare il trucco ...

frameBackground.size.height += 1; 

così mentre non aderire ad una +1 i passi precedenti hanno lavorato per la mia ListView e ora non hanno più un separatore.

0

ho scoperto che ho avuto il mio colpo di testa impostato su 1, la rimozione di questo riparato il mio problema (ho avuto ulteriore 1 pixel nel separatore cellulare dispari) ho cambiato a 0 e la vita sembra migliore

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { 
    return 0; 
} 
0

non potevo sbarazzarsi del separatore così ho finalmente deciso di scrivere la mia tableview su UIScrollView. E il "separatore" era ancora lì! Si scopre che c'è un bug in UILabel che a volte lo fa disegnare una linea sottile lungo il bordo superiore se si imposta un colore di sfondo. La soluzione è impostare lo sfondo sul layer: label.layer.backgroundColor = color.CGColor;