2011-05-21 123 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