2013-03-16 8 views

risposta

23

È necessario aggiungere una vista di piè di pagina vuota per nascondere le righe vuote da una tabella.

3.x Swift:

Nella tua viewDidLoad()

self.tblPeopleList.tableFooterView = UIView.init() 

Objective-C:

modo più semplice:

nel metodo viewDidLoad,

self.yourTableView.tableFooterView = [[UIView alloc] initWithFrame : CGRectZero]; 

o

self.yourTableView.tableFooterView = [UIView new]; 

o

Se si desidera personalizzare l'aspetto di vista piè di pagina, si può fare in questo modo.

UIView *view = [[UIView alloc] initWithFrame:self.view.bounds]; 
view.backgroundColor = [UIColor redColor]; 
self.yourTableView.tableFooterView = view; 

//OR add an image in footer 
//UIImageView *imageView = [[UIImageView alloc] initWithImage:footerImage.png] 
//imageView.frame = table.frame; 
//self.yourTableView.tableFooterView = imageView; 

Un altro modo:

implementare il metodo origine dati di una tabella,

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
    return [UIView new]; 
} 

E 'la stessa cosa, ma qui è possibile aggiungere diversi punti di vista per ogni sezione se la tabella ha più sezioni. Anche tu puoi impostare un'altezza diversa di ogni sezione con questo metodo, - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {...}.

Objective-C Risposta Nota: Questa risposta è testato per iOS7 e, soprattutto, per le versioni precedenti che avete per testare ogni singolo caso. Risposta rapida Nota: questa risposta è stata testata per iOS 10.3 e versioni successive, per le versioni precedenti è necessario testare ciascun caso.

7

Un'altra soluzione:

UIView *v = [[UIView alloc] initWithFrame:CGRectZero]; 
v.backgroundColor = [UIColor clearColor]; 
[self.tableView setTableFooterView:v]; 

Questo funziona troppo

self.tableView.tableFooterView = [UIView new]; 
2

Mettere questa pace di codice nel tuo viewDidLoad

self.tblTest.tableFooterView = [[UIView alloc] initWithFrame : CGRectZero]; 
+0

Questo codice funziona perfettamente sia per iOS 7 e 8. non è necessario cancellare il colore della vista di sfondo. – Jemythehigh

Problemi correlati