peoplePickerNavigationController ловит щелчок фактического имени контакта
Я пытаюсь поймать клик по имени контакта и получить контактную информацию оттуда. Вместо того, чтобы щелкнуть информацию о контакте и щелкнуть поле оттуда.
Я могу получить все необходимые данные, но только после нажатия на контакт. Вот мой текущий код:
-(IBAction)buttonPressed:(id)sender
{
ABPeoplePickerNavigationController *picker =[[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
}
-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier
{
[self displayPerson:person];
[self dismissModalViewControllerAnimated:YES];
return YES;
}
-(void)displayPerson:(ABRecordRef)person
{
NSString *name = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSLog(@"Name: %@", name);
NSString *phone = nil;
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (ABMultiValueGetCount(phoneNumbers) > 0) {
phone = (__bridge_transfer NSString *)
ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
} else {
phone = @"[None]";
}
NSLog(@"Phone: %@", phone);
}
- (void)peoplePickerNavigationControllerDidCancel: (ABPeoplePickerNavigationController *)peoplePicker
{
[self dismissModalViewControllerAnimated:YES];
}
2 ответа
Просто вернитесь NO
в shouldContinueAfterSelectingPerson
,
Согласно документам:
Возвращаемое значение:
ДА, чтобы отобразить контакт и отклонить сборщик.
НЕТ ничего не делать.
Итак, вернувшись NO
вы пропустите шаг отображения. Вы все равно увольняете сборщика.
Я использовал:
-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier;
Но когда я использовал следующее, это работает просто отлично. Это сводило меня с ума. лол
-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person;