2016-12-14 16 views
3

我使用CNContactPickerViewController并且我想隐藏联系人详细信息中的动作按钮(呼叫,消息,facetime)。当我使用CNContactPicker时,隐藏了联系人详细信息中的动作按钮

我知道allowActions财产CNContactViewController,但我不知道,如果我使用CNContacPickerViewController我怎么可以访问此属性。

如何在使用CNContactPickerViewController时隐藏动作按钮与联系人的详细信息?

+0

您是否得到了解决方案?我对我的应用程序有相同的要求。 –

+0

是的,我写了我自己的ContactViewController)) – Artem

回答

0

您不能使用allowActions属性CNContactPickerViewController。我正在使用这种方法和它没有显示任何联系人的详细信息,它只显示像这样的列表enter image description here

之后,您可以选择任何联系人和委托方法将为您提供该联系人的联系详细信息。

-(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.frameworkBuild Settings

这是工作代码。

IMP注意:这仅适用于iOS 9.0以上版本。如果您支持8.0以上,然后添加操作系统检查并使用AddressBook.framework & AddressBookUI.framework

+0

CNContactPickerViewController没有allowActions属性。 – Artem

+0

@Artem更新后的答案,请检查。以及从当前项目中获得的工作解决方案。 – Pushkraj

+0

不,我需要显示联系方式,我想隐藏操作按钮。 http://www.howtogeek.com/wp-content/uploads/2016/09/pcm_top.png它是我想要隐藏的按钮的示例。 也许我需要在didSelectContact委托中显示CNContactViewController? – Artem

相关问题