2012-09-28 4 views
0

Je tente d'implémenter une barre de recherche dans une vue de table Cellule statique.Implémentation d'une barre de recherche Cellule statique de vue de table iOS 6

J'ai sous-classé le contrôleur uitableview, a déclaré le Search Bar and Search Display Controller dans .h et également mis en <UISearchDisplayDelegate>

Maintenant im ne sachant pas quoi faire ensuite dans mon fichier .m, le système IVE tutoriels ont examiné tous se réfèrent aux cellules prototypes et je Je n'arrive pas à adapter le code pour mes besoins. J'ai également regardé Apples exemple de code

Mon résultat final est de rechercher les cellules sur la page de la barre de recherche. Ma barre de recherche affiche les lignes mais ne les classe pas selon la recherche. Suite à cela, en revenant à la vue de la table, il semble graphiquement corrompu.

utilisant Xcode 4.5

Répondre

0

Il y a beaucoup posées dans cette question. Voici quelques conseils:

Ajouter la barre de recherche à votre tête de table

self.tableView.tableHeaderView = self.searchBar; 

Cacher cela par défaut, lorsque vous faites défiler vers le bas, il apparaît

[self.tableView setContentOffset:CGPointMake(0, 44)]; 

En ce qui concerne la recherche/filtrage de la table . Ce dont vous avez besoin, ce sont les méthodes de la source de données de table pointant sur un tableau de données. Vous devez également conserver un autre tableau de la liste complète des données. Sur la recherche, appeler une méthode comme ceci:

- (void) performSearchWithText:(NSString *)searchText { 
     if ([searchText length] > 0) { 
      NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cell contains[cd] %@", searchText]; 
      NSArray *filteredArray = [self.allData filteredArrayUsingPredicate:predicate]; 
      self.tableData = [NSArray arrayWithArray:filteredArray]; 
      [self.tableView reloadData]; 
     } else { 
      self.tableData = self.allData; 
      [self.tableView reloadData]; 
     } 
    } 
+0

Merci pour la réponse et des conseils, cela vaut-il encore avec des cellules statiques bien que je n'ai pas de sources de données, les lignes il suffit de pousser à d'autres contrôleurs de navigation? – JSA986

+0

Ne le pense pas. Mais vous pouvez utiliser des cellules prototypes. Voir: http://useyourloaf.com/blog/2012/09/06/search-bar-table-view-storyboard.html – Diwann

Questions connexes