2013-11-25 2 views
0

나는 ABPeoplePickerNavigationController을 사용하여 연락처를 얻었으며이 연락처 중 하나를 선택할 때 ABPersonViewController을 사용하는 사람의 세부 정보를 얻습니다. 사과 서류에서 ABPersonViewControllerallowsActions: 방법을 사용하여 얼굴 시간 버튼을 가져옵니다. 하지만 나는 얼굴을 보지 못했습니다. 다음 코드를 사용했습니다.ABPersonViewController가 facetime 버튼을 표시하지 않습니까?

- (BOOL)peoplePickerNavigationController: 
(ABPeoplePickerNavigationController *)peoplePicker 
shouldContinueAfterSelectingPerson:(ABRecordRef)person { 
// NSLog(@"shouldContinueAfterSelectingPerson"); 
ABPersonViewController *picker = [[ABPersonViewController alloc] init] ; 
picker.personViewDelegate = self; 
picker.displayedPerson = person; 
[email protected][@(kABPersonPhoneProperty),@(kABPersonEmailProperty),@(kABPersonBirthdayProperty),@(kABPersonOrganizationProperty),@(kABPersonJobTitleProperty),@(kABPersonDepartmentProperty),@(kABPersonNoteProperty),@(kABPersonCreationDateProperty)]; 
picker.allowsActions=YES; 
[self.navigationController pushViewController:picker animated:YES];} 

답변

0

답변을 얻었습니다. [peoplePicker pushViewController:picker animated:YES] 대신 을 사용했습니다. 그래서 내가 원하는 것을 얻지 못했습니다. 그 이유는 내가 이라고 쓸 때 기본값 인 ABPersonViewController이 올 것입니다. 그래서 facetime, shareContact와 Add to Favorites 버튼은 존재하지 않습니다. 그러나 내가 [peoplePicker pushViewController:picker animated:YES]이라고 쓸 때, 사용자 정의 ABPersonViewController을 생성하고 모든 버튼은 allowsActions : 메소드를 사용하여 거기에 존재한다.

- (BOOL)peoplePickerNavigationController: 
    (ABPeoplePickerNavigationController *)peoplePicker 
      shouldContinueAfterSelectingPerson:(ABRecordRef)person { 

       ABPersonViewController *picker = [[ABPersonViewController alloc] init]; 
       picker.personViewDelegate = self; 
       picker.displayedPerson = person; 
       picker.displayedProperties = peoplePicker.displayedProperties; 
       picker.allowsActions = YES; 
       [peoplePicker pushViewController:picker animated:YES]; 
      return NO; 
    } 
관련 문제