Пользовательский текст поверх заголовка ABPeoplePickerNavigationController "Все контакты"

В приложении Apple Calendar, если вы приглашаете людей на событие, вы увидите специальный текст под заголовком:

Apple Calendar

В моем приложении я тоже использую подборщик людей. Я хотел бы добавить пользовательскую подсказку для пользователя поверх заголовка Все контакты.

Мое приложение

IBAction для кнопки:

- (IBAction)showPicker:(UIBarButtonItem *)sender {
self.addressBookController = [[ABPeoplePickerNavigationController alloc] init];
[self.addressBookController setPeoplePickerDelegate:self];
self.addressBookController.displayedProperties = [NSArray arrayWithObjects:
                                                  [NSNumber numberWithInt:kABPersonPhoneProperty],
                                                  nil];
[self presentViewController:self.addressBookController animated:YES completion:nil];

}

Все методы делегата:

#pragma mark Address Book Delegate

-(void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{
[self.addressBookController dismissViewControllerAnimated:YES completion:nil];
}


-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{
return YES;
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {

ABMultiValueRef phonesRef = ABRecordCopyValue(person, property);
CFStringRef currentPhoneValue = ABMultiValueCopyValueAtIndex(phonesRef, identifier);

// Some custom code working with a phone number

return NO;
}

1 ответ

Решение

Я не думаю, что есть способ настроить ABPeoplePickerNavigationController во всяком случае. Вы можете создать UIViewController с UILabel (с вашей подсказкой для пользователей) и представлением контейнера; затем вставлять ABPeoplePickerNavigationController в вид контейнера. Это может быть легко достигнуто с помощью Interface Builder, а также может быть сделано программно, см. Раздел " Реализация контроллера представления контейнера " в обзоре классов UIViewController.

Обновить

К сожалению, кажется, что ABPeoplePickerNavigationController не может быть добавлен непосредственно в раскадровку; пожалуйста, обратитесь к этому ответу, чтобы увидеть обходной путь.

Другие вопросы по тегам