2010-07-03 4 views
2

Je souhaite afficher le carnet d'adresses de l'utilisateur et utiliser le nouveau contrôleur PeoplePicker pour découper les résultats afin d'afficher uniquement ceux qui correspondent à un certain terme. Je vois que UIPeoplePickerNavigationController a une barre de recherche et une vue de recherche intégrée. On dirait des trucs assez standard, je ne l'ai jamais utilisé auparavant.ABPeoplePickerNavigationController recherche programmatique?

Comment est-ce que j'obtiendrais cela par programme d'une sous-classe UIViewController qui vient de présenter le PeoplePicker modalement?

Voici ce que j'ai essayé jusqu'à présent. Inutile de dire que ça ne marche pas.

ABPeoplePickerNavigationController *pick = [[ABPeoplePickerNavigationController alloc] init]; 
pick.searchDisplayController.searchBar.text = @"jim"; 
[self presentModalViewController:pick animated:YES]; 
[pick release]; 

EDIT: Pour être plus clair, je veux mettre en place un ABPeoplePicker, mais déjà « mi-recherche » avec un terme de recherche qui venait d'ailleurs dans l'application. Si l'utilisateur veut annuler cette recherche et exécuter la sienne, c'est bien, mais je veux d'abord pré-charger le searchviewcontroller avec mon propre terme.

Répondre

0

vérifiez si vous avez déclaré ABPeoplePickerNavigationControllerDelegate ou non.

, puis exécutez votre application. J'espère que cela vous aidera

1

Au cas où quelqu'un se demande encore à ce sujet, je l'ai atteint une solution en manipulant le premier état de répondeur du SearchBar dans la présentation bloc d'achèvement:

[self presentViewController:pick animated:YES completion:^{ 
    UISearchBar *bar = pick.visibleViewController.searchDisplayController.searchBar; 
    [bar becomeFirstResponder]; 
    [bar setText:@"jim"]; 
    [bar resignFirstResponder]; 
}]; 

Il y a un retard momentané avant qu'il n'atteigne les résultats de recherche, mais c'est le meilleur moyen que j'ai trouvé pour effectuer une recherche programmatique dans un ABPeoplePickerNavigationController

Questions connexes