как скрыть некоторые свойства с помощью ABPeoplePicker - PullRequest
3 голосов
/ 27 апреля 2010

При использовании peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person отображается представление со всей информацией о контакте. Я видел приложения, которые отображают только выбранную информацию (например, номера телефонов).

Как я могу это сделать? Я хочу отображать только имя контакта и номера телефонов.

Большое спасибо!

Ответы [ 3 ]

8 голосов
/ 04 мая 2010

Все довольно просто. Я настроил ABPeoplePickerNavigationController для отображения только адресов электронной почты.

Код выглядит так:

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

Вы можете найти список доступных свойств здесь .

0 голосов
/ 24 декабря 2014

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

var people = ABPeoplePickerNavigationController()
people.peoplePickerDelegate = self
// 3 is for Phone Number
people.displayedProperties = [3]
0 голосов
/ 27 апреля 2010

Я не уверен, если вы можете,

Вы можете сделать это, чтобы получить список людей для адресной книги:

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

CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);

, а затем создайте собственный вид средства выбора, отображающий только ту информацию, которую вы хотите.

...