2011-05-21 93 views
0

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

下面是我用它来打开联系人列表代码:

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

我无法找到如何配置控制器打开其中滚动偏移量的参考指南中的任何信息。

回答

1

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

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

恐怕我不能完全肯定这是什么代码是应该做的 - 这是打算作为Deepak的答案的扩张? – andygeers 2011-05-23 10:06:31

+0

没有这个代码遍历iPhone地址簿中的所有联系人,所以你可以使用复制值和属性ID获取数据。 – Basbous 2011-05-23 12:47:39

+0

对......我不确定这个问题与这个问题有什么关系,恐怕? – andygeers 2011-05-24 09:25:31

相关问题