如何使用ABPeoplePicker隐藏一些属性

时间:2010-04-27 06:46:32

标签: iphone objective-c cocoa-touch abpeoplepickerview

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

我该怎么做?我只想显示联系人的姓名和电话号码。

非常感谢!

3 个答案:

答案 0 :(得分:8)

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

代码如下所示:

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

您可以找到可用属性列表here

答案 1 :(得分:0)

我不确定你是否可以,

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

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

CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);

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

答案 2 :(得分:0)

在Swift中,你只需这样做。

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