4

我使用CNContactPickerViewController并且我想从联系人的详细信息中隐藏操作按钮(呼叫、消息、面谈时间)。

我知道 中的allowActions属性CNContactViewController,但我不知道,如果我使用CNContacPickerViewController.

使用时如何隐藏联系人详细信息中的操作按钮CNContactPickerViewController

4

1 回答 1

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.frameworkContacts.frameworkfrom Build Settings

这是工作代码。

IMP 注意:这仅适用于 iOS 9.0 及更高版本。如果您支持 8.0 及更高版本,则添加操作系统检查并使用 AddressBook.framework 和 AddressBookUI.framework

于 2016-12-14T16:27:32.807 回答