2016-12-14 15 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

相關問題