ABPeoplePicker вызывает выбранный номер

#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: , это не один из методов делегирования