2010-04-27 2 views
3

peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person을 사용하면 모든 연락처 정보가 포함 된보기가 표시됩니다. 선택한 정보 (예 : 전화 번호) 만 표시하는 앱을 보았습니다.ABPeoplePicker를 사용하여 일부 속성을 숨기는 방법

어떻게하면됩니까? 연락처의 이름과 전화 번호 만 표시하고 싶습니다.

대단히 감사합니다!

답변

8

아주 간단합니다. 이메일 주소 만 표시하도록 ABPeoplePickerNavigationController를 사용자 정의했습니다.

코드는 다음과 같습니다

ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init]; 
    [peoplePicker setPeoplePickerDelegate:self]; 
    [peoplePicker setDisplayedProperties:[NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonEmailProperty]]]; 

당신은 가능한 속성 here의 목록을 찾을 수 있습니다.

0

난 당신이 할 수있는 경우에 확실하지 않다

당신은 주소록에 대한 사람들의 목록을 얻기 위해이 작업을 수행 할 수

:

// get the default address book. 
ABAddressBookRef addressBook = ABAddressBookCreate(); 

CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook); 

하고 만 보여주는, 자신 만의 선택기보기를 만듭니다 원하는 정보.

0

스위프트에서는 간단히 이렇게합니다.

var people = ABPeoplePickerNavigationController() 
people.peoplePickerDelegate = self 
// 3 is for Phone Number 
people.displayedProperties = [3]