0

我有一个使用 aABPeoplePickerNavigationController来挑选联系人的 iPhone 应用程序。第一次选择联系人时,联系人列表显然从顶部开始,在字母“A”下方。但是,假设您在“M”下选择了一个联系人;如果您稍后想要更改选择的联系人,我想初始化联系人列表,以便它已经滚动到“M”部分。

这是我用来打开联系人列表的代码:

ABPeoplePickerNavigationController *picker =
                    [[ABPeoplePickerNavigationController alloc] init];
                    picker.peoplePickerDelegate = self;                    
                    [self presentModalViewController:picker animated:YES];
                    [picker release];

我在参考指南中找不到有关如何配置控制器打开位置的滚动偏移的任何信息。

4

2 回答 2

1

此功能在 中不可用ABPeoplePickerNavigationController。但是,您可以UITableViewController使用AddressBook框架实现自定义。

于 2011-05-21T20:47:00.883 回答
0

尝试使用 [ABAAddressBook]

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);

for( int i = 0 ; i < nPeople ; i++ )
{
    ABRecordRef person = CFArrayGetValueAtIndex(allPeople, i );
    NSString* name = [(NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty) autorelease];
}
于 2011-05-23T08:58:18.493 回答