3

使用 时peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person,将显示包含所有联系人信息的视图。我见过只显示选定信息的应用程序(例如电话号码)。

我怎样才能做到这一点?我只想显示联系人的姓名和电话号码。

非常感谢!

4

3 回答 3

8

这很简单。我自定义 ABPeoplePickerNavigationController 只显示电子邮件地址。

代码如下所示:

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

您可以在此处找到可用属性的列表。

于 2010-05-04T19:24:09.963 回答
0

我不确定你是否可以,

您可以这样做来获取地址簿的人员列表:

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

CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);

然后创建您自己的自定义选择器视图,仅显示您想要的信息。

于 2010-04-27T11:37:17.730 回答
0

在 Swift 中,您只需执行此操作。

var people = ABPeoplePickerNavigationController()
people.peoplePickerDelegate = self
// 3 is for Phone Number
people.displayedProperties = [3]
于 2014-12-24T04:56:28.447 回答