J'ai un tableview
, où parfois il n'y a pas de résultats à lister, donc je voudrais mettre quelque chose qui dit "pas de résultats" s'il n'y a pas de résultats (soit une étiquette ou une cellule de vue de tableau?).
Existe-t-il un moyen le plus simple de le faire?
J'essaierais un label
derrière tableview
puis cacherais l'un des deux en fonction des résultats, mais comme je travaille avec un TableViewController
et pas un normal, ViewController
je ne sais pas à quel point c'est intelligent ou faisable.
J'utilise également Parse
et je sous-classe en tant que PFQueryTableViewController
:
@interface TableViewController : PFQueryTableViewController
Je peux fournir tous les détails supplémentaires nécessaires, faites le moi savoir!
TableViewController
Scène dans Storyboard:
EDIT: Par Midhun MP, voici le code que j'utilise
- (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;
}
Et voici la vue que j'obtiens, elle a toujours des lignes de séparation. J'ai le sentiment qu'il s'agit d'un petit changement, mais je ne sais pas pourquoi des lignes de séparation apparaissent?
numberOfSections
devrait retourner un compte et c'est tout. Pareil pour numberOfRowsInSection
. Ceux-ci peuvent être appelés plusieurs fois à tout moment. Ne mettez jamais à jour les vues, ne mettez jamais à jour les données et ne faites rien d'autre que renvoyer un décompte La logique de mise à jour des vues ne doit jamais être dans ces méthodes.