使用peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
时,会显示包含所有联系人信息的视图。我见过的应用只显示所选信息(例如电话号码)。
我该怎么做?我只想显示联系人的姓名和电话号码。
非常感谢!
答案 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]