2015-02-24 27 views

risposta

216

nella funzione viewDidLoad() aggiunge questa riga di codice:

tableView.tableFooterView = UIView() 
+0

Breve ed efficace! Ha funzionato come un incantesimo! – yogipriyo

+3

Cosa significa? Potresti elaborare? –

+0

Questa risposta è ancora valida in Swift 3. Inoltre, se si imposta il colore di sfondo tableview uguale al colore di sfondo delle viste principali, apparirà come se il piè di pagina fosse sparito. –

4

Per aggiungere a questo, il motivo per cui l'impostazione tableFooterView per UIView() rimuove le righe è perché si sta impostando un UIView() oggetto vuoto alla proprietà. Come per la documentazione di Apple:

var tableFooterView: UIView? 

Quindi impostando un UIView vuoto() verrà visualizzato nulla sotto i vostri dati per questa proprietà.

È possibile portare le righe vuote di nuovo reimpostando tableFooterView al valore di default, in questo modo:

tableView.tableFooterView = nil 
+2

Scusa ma non sembra un trucco? – AOY

+2

No, questo è un modo completamente valido per farlo. Se si desidera impostare una tabella personalizzataFooterView, si dovrebbe creare un UIView personalizzato, prima di impostarlo su tableFooterView. Quindi reimpostarlo su zero è sufficiente riportarlo al valore predefinito. – toast

+0

Vedo. Grazie) Mi sembra un po 'strano per me, visto che sono nuovo per lo swift – AOY

2

si può raggiungere questo anche in Storyboard semplicemente trascinando una vista nel piè di pagina della vista tabella, quindi imposta l'altezza e il colore dello sfondo su 1 e deseleziona rispettivamente usando l'ispettore proprietà.

(Questo presuppone che non possono o non vogliono utilizzare solo l'impostazione di stile Gruppo per qualche motivo. Altrimenti, basta farlo.)

1
tableView.tableFooterView = UIView.init(frame: CGRect.zero) 

chiamata questo codice all'interno del viewWillAppear metodo. E funzionerà

0

Basta aggiungere:

tableView.tableFooterView = UIView() 

Spiegazione:

Questo è del tutto valido e funziona perfettamente in rapida 3.By Dal momento che si sta impostando un oggetto UIView vuota() per la proprietà, Impostazione tableFooterView to UIView() rimuove le righe.

+0

qual è la differenza rispetto alla risposta accettata? –

1

Selezionare UITableView, passare all'ispettore attributi e modificare lo stile in Raggruppato.

-1

Ho provato il tableview.tableFooterView = UIView() e non ha funzionato per me. Sto usando un TableViewViewCell personalizzato, forse è per questo.

Ho trovato un trucco. Nel mio func numberOfRowsInSection

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return yourArrayClass.count - 1 
} 

E che fa mia abitudine vuoto in più non UITableViewCell visualizzare più. Ovviamente è quello in più in bianco. Lo testerò ancora aggiungendo più celle. Come riferimento, sto utilizzando Swift 3, Firebase, una classe di celle personalizzata, all'interno della funzione cellForRowAt.

+0

Questo non visualizzerà l'ultimo elemento nell'array. – elarcoiris

1

Swift 4 Elaborando risposta di Horset, trascinare il controllo dal Table View nel vostro storyboard, alla vista classe Controller e creare uno sbocco chiamato tableView.

@IBOutlet weak var tableView: UITableView! 

Poi, il viewDidLoad nel controller View dovrebbe essere simile a questo:

override func viewDidLoad() { 
    super.viewDidLoad() 

    tableView.dataSource = self 
    tableView.delegate = self 

    tableView.tableFooterView = UIView() 
} 
0

Sulla base delle risposte di cui sopra in rapida.

tableView.tableFooterView = UIView(frame: .zero) 
Problemi correlati