Ho un tableview
, dove a volte potrebbero non esserci risultati da elencare, quindi vorrei mettere qualcosa che dice "nessun risultato" se non ci sono risultati (un'etichetta o una cella della vista tabella?).
C'è un modo più semplice per farlo?
Vorrei provare un label
dietro e tableview
poi nascondere uno dei due in base ai risultati, ma dal momento che sto lavorando con un TableViewController
e non un normale ViewController
non sono sicuro di quanto sia intelligente o fattibile.
Sto anche usando Parse
e sottoclasse come PFQueryTableViewController
:
@interface TableViewController : PFQueryTableViewController
Posso fornire tutti i dettagli aggiuntivi necessari, fammelo sapere!
TableViewController
Scena nello Storyboard:
EDIT: Per Midhun MP, ecco il codice che sto usando
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSInteger numOfSections = 0;
if ([self.stringArray count] > 0)
{
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
numOfSections = 1;
//yourTableView.backgroundView = nil;
self.tableView.backgroundView = nil;
}
else
{
UILabel *noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, self.tableView.bounds.size.height)];
noDataLabel.text = @"No data available";
noDataLabel.textColor = [UIColor blackColor];
noDataLabel.textAlignment = NSTextAlignmentCenter;
//yourTableView.backgroundView = noDataLabel;
//yourTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundView = noDataLabel;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}
return numOfSections;
}
Ed ecco la vista che sto ottenendo, ha ancora linee di separazione. Ho la sensazione che si tratti di una piccola modifica, ma non sono sicuro del motivo per cui vengono visualizzate le linee di separazione?
numberOfSections
dovrebbe restituire un conteggio e basta. Lo stesso per numberOfRowsInSection
. Questi possono essere chiamati più volte in qualsiasi momento. Non aggiornare mai le visualizzazioni o aggiornare i dati o fare altro che restituire un conteggio. La logica per l'aggiornamento delle viste non deve mai essere in questi metodi.