2010-04-27 1 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

В Swift вы просто это делаете.

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