2013-02-05 2 views
2

Apple에서 제공 한 ABPeoplePickerNavigationController 클래스를 사용하여 사용자가 연락처를 선택할 수 있도록합니다.ABPeoplePickerNavigationController를 제시 한 후 검색 모드를 자동으로 입력하십시오.

이 목록에서 사용자는 검색 표시 줄을 눌러 검색을 시작할 수 있습니다. 그러나 사용자가 searchBar를 탭할 필요가 없기 때문에 View Controller를 제시 한 후 자동으로 검색 모드로 들어가기를 원합니다.

searchBar의 경우 보통 searchDisplayController setActive:YES animated:YES을 호출하여 searchMode를 입력 할 수 있습니다. 그러나 ABPeoplePickerNavigationController을 사용하면 작동하지 않는 것 같습니다. 내가 뭘하려

: ABPeoplePickerNavigationController 이후

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

답변

2

가있는 navigationController입니다, 당신이 볼 수있는 검색 창에 의해 노출되지 않는 클래스 ABMembersViewController의 사실입니다있는 navigationController에서 topViewController 또는 visibleViewController의 일부 (이다 AddressBookUI API).

[picker.visibleViewController.searchDisplayController.searchBar becomeFirstResponder]; 
[picker.visibleViewController.searchDisplayController setActive:YES animated:YES]; 
:

검색 창을 활성화하려면, 당신은 완료 블록에서 다음을 수행 할 수 있습니다