我使用CNContactPickerViewController
我希望隐藏联系人详细信息中的操作按钮(来电,留言,面对面时间)。
我知道allowActions
中的CNContactViewController
属性,但我不知道,如果我使用CNContacPickerViewController
,我将如何访问此属性。
使用CNContactPickerViewController
时,如何隐藏联系人详细信息中的操作按钮?
答案 0 :(得分:0)
您不能将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