在特定联系人处打开联系人列表

时间:2011-05-21 20:39:54

标签: iphone abaddressbook

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

尝试使用[ABAddressBook]

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];
}