1

所以我有一个MKMapView,我有一个带有披露按钮的图钉。我希望用户能够点击披露按钮和导航控制器来推送新的视图控制器。但我希望新的视图控制器看起来像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 回答