2

Appleが提供するクラスを使用してABPeoplePickerNavigationController、ユーザーが連絡先を選択できるようにしています。

このリストでは、ユーザーはsearchBarをタップして検索を開始できます。ただし、ユーザーがsearchBarをタップする必要がないようにしたいので、ViewControllerを表示した後に自動的に検索モードに入りたいと思います。

searchBarの場合、通常はを呼び出してsearchModeに入ることができますsearchDisplayController setActive:YES animated:YES。ただし、これはを使用して機能しないようですABPeoplePickerNavigationController

それが私が試したことです:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
[self presentViewController:picker animated:YES completion:^{
    [picker.searchDisplayController.searchBar becomeFirstResponder];
    [picker.searchDisplayController setActive:YES animated:YES];
}];
4

1 に答える 1

2

はnavigationControllerであるためABPeoplePickerNavigationController、表示されるsearchBarは、topViewControllerまたはvisibleViewControllerそのnavigationController(実際にはABMembersViewController、AddressBookUI APIによって公開されていないクラスの一部)の一部です。

searchBarをアクティブにするには、完了ブロックで次の操作を実行できます。

[picker.visibleViewController.searchDisplayController.searchBar becomeFirstResponder];
[picker.visibleViewController.searchDisplayController setActive:YES animated:YES];
于 2013-02-28T15:10:16.093 に答える