我正在制作地址簿,现在我想显示我在地址簿中选择的联系人应该以蓝色显示......
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 ..
提前致谢
答案 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
{
}
所以现在你从地址簿中选择的数字是蓝色的......