2016-03-23 2 views
0

新しいCNContactを作成しながら(viewControllerForNewContactメソッドを利用して)限られた数のキーしか表示しません。しかし、私が試みたキーを取り出すためのさまざまな値にもかかわらず、私はまだ設定可能な値の世界全体を取得し続けています。新しい連絡先に表示されるキーをどのように制限できますか?ヘッダファイルCNContactViewController.hで以下 viewControllerForNewContactはすべてのキーを表示します

は、これまでの私のコードです

これは、既存の連絡先のために正常に動作しているようだが、何とかない新しい連絡先のために... ...

CNMutableContact *newContact = [[CNMutableContact alloc] init]; 

    // NSArray *keysToFetch = @[CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey, CNContactEmailAddressesKey, CNContactImageDataKey, [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName], [CNContactViewController descriptorForRequiredKeys]]; 
    // NSArray *keysToFetch = @[[CNContactViewController descriptorForRequiredKeys]]; 
    // NSArray *keysToFetch = @[CNContactGivenNameKey, [CNContactViewController descriptorForRequiredKeys]]; 
    // NSArray *keysToFetch = @[CNContactIdentifierKey, CNContactEmailAddressesKey, CNContactBirthdayKey, CNContactImageDataKey, CNContactPhoneNumbersKey, [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName],[CNContactViewController descriptorForRequiredKeys]]; 
    // NSArray *keysToFetch = @[[CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName], CNContactEmailAddressesKey]; 
    NSArray *keysToFetch = @[CNContactGivenNameKey, CNContactPhoneNumbersKey]; 

    CNContactViewController *newContactViewController = [CNContactViewController viewControllerForNewContact:newContact]; 

    newContactViewController.delegate = self; 
    newContactViewController.allowsActions = YES; 
    newContactViewController.allowsEditing = YES; 
    newContactViewController.displayedPropertyKeys = keysToFetch; 

    UINavigationController *newContactNavViewController = [[UINavigationController alloc] initWithRootViewController:newContactViewController]; 
    newContactNavViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
    [self presentViewController:newContactNavViewController animated:YES completion:nil]; 

答えて

0

「連絡先を編集するときにすべてのプロパティが表示されます」というメモがあります。だから私はそれが編集モードで表示されるので、新しい連絡先のdisplayedPropertyKeysを設定するために何も変更されないと思います。

関連する問題