2011-01-31 25 views
7

Desidero rimuovere la separazione incorporata tra le celle in UITableView.Come rimuovere la separazione tra celle UITableView

Ho provato ad utilizzare:

[self.myTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

Ma che rimuove solo la linea di separazione. Ho bisogno che la vista appaia come se non fosse affatto una vista tabella. (come la tableview è una grande vista che non contiene molte celle separate)

È possibile?

Modifica: Vedere la separazione tra le celle? Non voglio che scompaia e la vista del tavolo sia come se fosse una grande cella.

enter image description here

Edit 2: Il problema non appare quando io non uso la visualizzazione di un'immagine come sfondo della cella, ma basta usare un colore di sfondo semplice. Ho provato a usare un'immagine diversa, e come puoi vedere il problema è molto meno ovvio. Tuttavia, apprezzerei ancora una soluzione per l'immagine rossa, dal momento che ho molte immagini che non possono ancora essere inserite come sfondo al momento. (Non so perché una sola immagine causerebbe il problema e l'altro non sarà, credo che qualcosa con l'impostazione pic)

enter image description here

+0

Se non dovrebbe apparire come un UITableView allora perché stai usando uno? –

+1

@AntwanVanHoudt - le viste tabella sono utili per la disposizione dei dati. Che cosa. Il risultato finale sembra irrilevante. – Moshe

+0

Se si utilizza 'UITableViewStylePlain' e nessun titolo/piè di pagina della sezione, non si dovrebbe vedere alcun separatore. – Costique

risposta

1

ti sembra di aver risposto alla tua domanda. Se vuoi uno sfondo a tinta unita, crea un'immagine con solo un colore a tinta unita. Sospetto che non sia una buona pratica, ma farà il suo lavoro.

+0

Ciao Moshe, io uso celle personalizzate, ma suppongo che il problema non sia con le celle, sia con il modo in cui TableView le presenta. – Idan

+0

Proverò il tuo suggerimento sulle sezioni e ti farò conoscere i risultati. grazie – Idan

+0

Scusa amico, ma il tuo suggerimento non ha funzionato. Forse non mi hai capito bene, vedi la mia domanda ora - l'ho modificata. – Idan

17

Si può fare qualcosa di simile

self.tableView.separatorColor = [UIColor whiteColor];

o

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

Suppongo che nel tuo caso sarebbe

self.myTableView.separatorColor = [UIColor whiteColor];

In futuro potresti voler cercare Stack Overflow poiché ci sono molti similar questions.

+0

Non hai letto la mia domanda? perchè ho provato già esattamente quello che mi hai suggerito e non ha fatto tutto il lavoro. – Idan

+0

Beh, è ​​confuso _what_ vuoi perché dici "Ho bisogno che la vista appaia come se non fosse affatto una vista tabella (come la tableview è una vista grande che non contiene molte celle separate)" che mi porta (e altri poster) per chiedermi _why_ stai utilizzando un TableView. Se vuoi che la struttura di visualizzazione delle tabelle senza l'effetto di scorrimento faccia semplicemente 'self.tableView.scrollEnabled = NO;' Forse puoi chiarire la tua domanda se non ricevi risposte soddisfacenti. – aqua

+0

Ho appena modificato la domanda, per favore guarda di nuovo. – Idan

7

La separazione è dovuta al gradiente di sfondo nell'esempio rosso e non proviene dal TableView. nella tua seconda immagine non c'è gradiente quindi non vedi la separazione.

rimuovere la sfumatura dall'immagine di sfondo e andrà bene.

5

provare a fare questo:

self.tableView.backgroundColor=[UIColor clearColor]; 
self.tableview.separatorColor=[UIColor clearColor]; 
self.view.backgroundColor=[UIColor yourcolor]; 

non mi ricordo se è poi il colore con immagine o backgroundwithimage o di sfondo con vista .. non ricordo, comunque modo logica è questa.

Spero che sia utile

2

Se si desidera solo per sbarazzarsi del separatore tra le cellule UITableView. Due cose che ti servono

  1. [self.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone];
  2. Assicurati che il tuo imageView (nella tua cella tableview) abbia la stessa altezza della cella tableview. Ciò significa che la vista dell'immagine copre completamente la cella della vista tabella. Vai alla vista dell'ispettore e verifica l'altezza, se vedi che l'altezza è 43, basta impostarla su 44 (44 è l'altezza della cella vista tabella predefinita per il display retina).

enter image description here enter image description here enter image description here

0

ho fatto questo molte volte nei miei proprie applicazioni. Capisco che desideri rendere la tua vista tabella come se non fosse una vista tabella ma come se fosse su un pezzo di carta bianco.

Solo una nota per te, la ragione per cui puoi vedere la separazione con alcune immagini e non tanto con gli altri è dovuta alla sua consistenza dell'immagine. Quando si posizionano copie dell'immagine parallelamente, esse non presentano uno schema continuo, formando così evidenti separazioni visive.

Soluzione: Supponendo di avere l'impostazione tableview in un file xib, visualizzare lo sfondo del tavolo stesso per cancellare -> quindi impostare lo sfondo della vista stessa a qualsiasi immagine che si desidera. Avrai quindi una vista tabella con la vista di sfondo trasparente con solo la vista principale dietro di essa che mostra la sua immagine o colore. Mostrare la tua immagine su questa tela significherà un chiaro sfondo di un'immagine.

1

Go StroyBaord -> Seleziona tabella -> Attributo inspector -> Separatore Nessuno No separatore apparirà enter image description here

Problemi correlati