ABPeoplePickerNavigationController程序化搜索?

时间:2010-07-03 22:20:42

标签: iphone addressbook abpeoplepickerview

我想提取用户的地址簿,并使用新的PeoplePicker控制器对结果进行切片,以显示与特定术语匹配的结果。我看到UIPeoplePickerNavigationController有一个嵌入搜索栏和搜索视图。看起来很标准的东西,我以前从未用过它。

我如何从一个刚刚以模态方式呈现PeoplePicker的UIViewController子类以编程方式获得该命令?

这是我到目前为止所尝试的内容。不用说,它不起作用。

ABPeoplePickerNavigationController *pick = [[ABPeoplePickerNavigationController alloc] init];
pick.searchDisplayController.searchBar.text = @"jim";
[self presentModalViewController:pick animated:YES];
[pick release];
编辑:为了更清楚,我想提出一个ABPeoplePicker,但已经“搜索中期”,搜索词来自应用程序的其他地方。如果用户想要取消该搜索并运行他们自己的搜索,那很好,但我想首先使用我自己的术语预先加载searchviewcontroller。

2 个答案:

答案 0 :(得分:1)

如果有人仍然想知道这一点,我通过在演示文稿完成块中操纵searchBar的第一个响应者状态来达到解决方案:

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

在提取搜索结果之前有一个短暂的延迟,但这是我在ABPeoplePickerNavigationController中完成编程搜索的最好方法

答案 1 :(得分:0)

检查您是否声明了ABPeoplePickerNavigationControllerDelegate。

然后运行您的应用。我希望它会对你有所帮助