Открыть список контактов на конкретный контакт - PullRequest
0 голосов
/ 22 мая 2011

У меня есть приложение для iPhone, которое использует ABPeoplePickerNavigationController, чтобы выбрать контакт.При первом выборе контакта список контактов, очевидно, начинается сверху, под буквой «А».Тем не менее, скажем, вы выбрали контакт под «М»;если потом вы захотите изменить, какой контакт выбран, я хочу инициализировать список контактов, чтобы он уже был прокручен до раздела «M».

Вот код, который я использую для открытия списка контактов:

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

Я не могу найти в справочном руководстве никакой информации о том, как настроить смещение прокрутки в месте, где открывается контроллер.

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Эта функция недоступна в ABPeoplePickerNavigationController. Однако вы можете реализовать пользовательский UITableViewController, который делает это, используя AddressBook framework.

0 голосов
/ 23 мая 2011

Попробуйте использовать [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];
}
...