如何在ios中选择显示联系人

时间:2011-10-15 05:42:05

标签: ios colors contacts addressbook

我正在制作地址簿,现在我想显示我在地址簿中选择的联系人应该以蓝色显示......

AS LIKE IN IPHONE WE CAN SEE ...

为此我做了这么多编码......

 ABRecordRef person = NULL;
    NSString *name = nil;
    if(gPerson == NULL)
    {
        person = ABPersonCreate();
        name = strReceiversNames;
    }
    else
    {
        person = gPerson;
        NSString *fName = (NSString*)ABRecordCopyValue(gPerson, kABPersonFirstNameProperty);
        NSString *lName = (NSString*)ABRecordCopyValue(gPerson, kABPersonLastNameProperty);
        name = [NSString stringWithFormat:@"%@ %@", fName, lName];
    }

    CFErrorRef  error = NULL;

    //UILabel *ContectInfo;
//  ContectInfo.text = strPhoneNumber;
//  ContectInfo.textColor = [UIColor greenColor];
    // set name
    ABRecordSetValue(person, kABPersonFirstNameProperty, (CFStringRef)name, &error);

    // set phone number
    ABMutableMultiValueRef phoneNumber = ABMultiValueCreateMutable(kABMultiStringPropertyType);
    ABMultiValueAddValueAndLabel(phoneNumber, (CFStringRef)strPhoneNumber, kABPersonPhoneMobileLabel,NULL);
    ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumber, &error);
    CFRelease(phoneNumber);

    if(error != NULL) 
    {
        NSLog(@"Error: %@", error);
    }

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

在这个strPhoneNumber是我的联系电话号码.. 我只想在点击按钮时将其显示为蓝色....

strPhoneNumber是NSString ..

提前致谢

2 个答案:

答案 0 :(得分:1)

为什么不使用ABPersonViewController的setHighlightedItemForProperty:withIdentifier:方法?或者可能更改displayedPerson属性?希望这能为你提供一个好的方向。

答案 1 :(得分:1)

你应该这样使用。

在您选择联系人时使用此功能。

ABPersonViewController *ctrl = [[ABPersonViewController alloc] init];
[ctrl setHighlightedItemForProperty:kABPersonPhoneProperty withIdentifier:0];

并在最后调用此函数

- (void)setHighlightedItemForProperty:(ABPropertyID)property withIdentifier:(ABMultiValueIdentifier)identifier
{

}

所以现在你从地址簿中选择的数字是蓝色的......