2010-01-24 4 views
0

Je veux imiter le comportement de l'application Mail quand aucun résultat n'a été trouvé à partir de l'UISearchBar, et montrer une cellule avec un lien pour appeler une méthode. Je ne peux pas comprendre (ou trouver n'importe où) comment le faire.Ajouter un bouton dans un UITableViewCell lorsque UISearchBar n'a aucun résultat (comme l'application Mail)

Le plus proche, je pense que je suis venu est le suivant (que j'ai ajouté dans mon code)

if ([self.keys count] == 0){ 
    [self.tableView beginUpdates]; 
    [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationBottom]; 
    [self.tableView endUpdates]; 
} 
[tableView reloadData]; 

Répondre

0

je crois quelque chose comme ça devrait fonctionner, mais votre uiTableViews: rowsInSection: et ces méthodes doivent encore pour renvoyer le nombre correct, et cellForRowAtIndexPath doit également faire le bon choix. Comme il doit le faire de toute façon, vous pouvez simplement définir un drapeau et appeler reloadData sur la vue tabulaire. (En fait, sans cellForRowAtIndexPath, la reloadData est probablement en train de vider la table.)

+0

Ce que j'ai fini par faire était d'ajouter un drapeau qui indiquait si je montrais une rangée de table ou ma rangée. Puis mis à jour numberOfRows et numberOfSections pour renvoyer 1 si cet indicateur a été défini. Et dans cellForRow, vérifiez ce drapeau avant d'afficher la cellule et définissez-le comme je veux. – Jamie

Questions connexes