1

iPhone の新しい連絡先フォームにフィールドをプログラムで追加するのに苦労しています。

「Quick Contact」の例を見ることで新しい連絡先フォームを開くことができますが、フィールドに詳細を追加する方法がわからないため、ユーザーは手動で詳細を追加する必要がなく、ユーザーは [完了] または [完了] を選択できます。ただし、フィールドのフィールドの詳細を変更することはできますが、キャンセルします。

以下のコードを使用して、新しい連絡先フォームを表示しています。

ABNewPersonViewController *picker = [[ABNewPersonViewController alloc] init];
picker.newPersonViewDelegate = self;
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:picker];
[self presentModalViewController:navigation animated:YES];  
[picker release];
[navigation release];
4

1 に答える 1

2

以下のコードで作成しました。

ABRecordRef person = ABPersonCreate();
CFErrorRef  error = NULL;

// firstname
ABRecordSetValue(person, kABPersonFirstNameProperty, @"Don Juan", NULL);

// email
ABMutableMultiValueRef email = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(email, @"expert.in@computer.com", CFSTR("email"), NULL);
ABRecordSetValue(person, kABPersonEmailProperty, email, &error);
CFRelease(email);

// Start of Address
ABMutableMultiValueRef address = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDict = [[NSMutableDictionary alloc] init];
[addressDict setObject:@"The awesome road numba 1" forKey:(NSString *)kABPersonAddressStreetKey];
[addressDict setObject:@"0568" forKey:(NSString *)kABPersonAddressZIPKey];
[addressDict setObject:@"Oslo" forKey:(NSString *)kABPersonAddressCityKey];
ABMultiValueAddValueAndLabel(address, addressDict, kABWorkLabel, NULL);
ABRecordSetValue(person, kABPersonAddressProperty, address, &error);
[addressDict release];
CFRelease(address);
ABNewPersonViewController *picker = [[ABNewPersonViewController alloc] init];
picker.displayedPerson = person;
picker.newPersonViewDelegate = self;

UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:picker];
[self presentModalViewController:navigation animated:YES];

[picker release];
[navigation release];
于 2013-02-16T14:51:49.487 に答える