Скрыть кнопки действий в контактной информации, когда я использую CNContactPicker
Я использую CNContactPickerViewController
и я хочу скрыть кнопки действий (звонок, сообщение, лицевое время) от детали контакта.
Я знаю о allowActions
недвижимость в CNContactViewController
, но я не знаю, как я могу получить доступ к этому свойству, если я использую CNContacPickerViewController
,
Как скрыть кнопки действий от деталей контакта при использовании CNContactPickerViewController
?
1 ответ
Вы не можете использовать allowActions
собственность с CNContactPickerViewController
, Я использую этот подход, и он не показывает детали любого контакта, он показывает только список, как это
После этого вы можете выбрать любой контакт, и метод делегирования предоставит вам контактные данные этого контакта.
-(void) openDeviceContactList {
CNContactPickerViewController *contactPicker = [CNContactPickerViewController new];
contactPicker.delegate = self;
[self presentViewController:contactPicker animated:YES completion:nil];
}
- (void) contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact {
[self getPhoneNumberFrom:contact];
}
-(void)getPhoneNumberFrom:(CNContact *)contactObject {
NSString * phone = @"";
NSString * userPHONE_NO = @"";
for(CNLabeledValue * phonelabel in contactObject.phoneNumbers) {
CNPhoneNumber * phoneNo = phonelabel.value;
phone = [phoneNo stringValue];
if (phone) {
userPHONE_NO = phone;
}
break;
}
NSLog(@"PHONE NO :: %@",userPHONE_NO);
}
Вызов [self openDeviceContactList];
Нажмите на кнопку, из которой вы хотите открыть список контактов. Это представит CNContactPickerViewController
, По этой причине вы должны реализовать CNContactPickerDelegate
а также вы должны добавить ContactsUI.framework
а также Contacts.framework
от Build Settings
,
Это рабочий код.
IMP ПРИМЕЧАНИЕ: Это будет работать только iOS 9.0. Если вы поддерживаете 8.0 и выше, добавьте проверку ОС и используйте AddressBook.framework & AddressBookUI.framework