1

だから私はそれMKMapViewを持っていて、開示ボタンが付いたピンを持っています。ユーザーが開示ボタンとナビゲーション コントローラーをタップして、新しいビュー コントローラーをプッシュできるようにしたいと考えています。しかし、私はその新しいView ControllerをviewController、連絡先アプリに標準装備されている連絡先のように見せたいと思っています. 連絡先はユーザーの連絡先に含まれないため、カスタムの連絡先情報を表示する必要があります。ABPerson で遊んでいますが、わかりません。その連絡先ページを標準ページとまったく同じように見せたい. これは私が遊んでいたものです:

    ABPersonViewController *view = [[ABPersonViewController alloc] init];

ABPerson *person;

ABRecordRef ABPersonCreate (
                            void
                            );

view.personViewDelegate = self;
view.displayedPerson = person;
view.allowsEditing = NO;

[self.navigationController pushViewController:view animated:YES];
[view release];

どうすればいいのかよくわかりません。表示したい連絡先情報には、商号、住所、電話番号などが含まれます。

事前にどうもありがとうございました。

4

1 に答える 1

2

これがどのように行われるべきかです:

    ABUnknownPersonViewController *newPersonViewController = [[ABUnknownPersonViewController alloc] init];
    newPersonViewController.displayedPerson = [self personObject];
    [self.navigationController pushViewController:newPersonViewController animated:YES];

に応答するよりも[self personObject]

- (ABRecordRef)personObject {

    // Create a new Person object.
    ABRecordRef newRecord = ABPersonCreate();

    // Setting the value to the ABPerson object.
    //ABRecordSetValue(newRecord, kABPersonKindOrganization, @"Business Name", nil);    


    ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
    ABMultiValueAddValueAndLabel(multiPhone, @"1-555-555-5555", kABPersonPhoneMainLabel, NULL);
    ABRecordSetValue(newRecord, kABPersonPhoneProperty, multiPhone,nil);
    CFRelease(multiPhone);


    return newRecord;
}
于 2011-06-06T02:54:30.350 に答える