#iphone #abpeoplepickerview
#iPhone #abpeoplepickerview
Вопрос:
Я использую средство выбора людей, чтобы пользователь мог выбрать номер телефона из своих контактов для использования в приложении.
Когда пользователь нажимает на номер, открывается приложение для телефона и вызывается этот номер…
Есть ли какой-нибудь способ остановить это?
Ответ №1:
Взгляните на shouldPerformDefaultActionForPerson:
- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)aPerson
property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifierForValue {
if(property == kABPersonPhoneProperty) {
//save the number
return NO;
}
return YES;
}
—РЕДАКТИРОВАТЬ—
Вышеупомянутый метод предназначен для ABPersonViewController, который я ошибочно принял за ABPeoplePicker. Логика для ABPeoplePicker такая же, как указано выше, только вместо этого вы должны использовать этот обратный вызов делегата:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
Ответ №2:
Я просто забыл вернуть NO в методе shouldContinueAfterSelectingPerson: , я не знаю, откуда вы взяли shouldPerformDecaultActionForPerson: , это не один из методов делегирования