在iOS的地址簿中加粗联系人姓名的正确部分?

时间:2013-12-08 06:25:09

标签: ios iphone objective-c addressbook abaddressbook

我正在使用AddressBook获取所有记录的数组,然后在UITableView中显示名称。

我的问题是,如何对全名的正确部分进行分类,例如在“通讯录”应用中?我可以创建大量的if语句,但我想知道是否有更简单的方法。

以下是我如何检索姓名:

_person = person;
CFStringRef name = ABRecordCopyCompositeName(person);
NSString *nameString = CFBridgingRelease(name);

[self.textLabel setText:nameString];

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用例如NSAttributedString(您可以更改字符串每个部分的每个属性)。让你的UILabel使用当然的属性字符串

NSMutableAttributedString* attrStr = [NSMutableAttributedString attributedStringWithString:@"Hello World!"];
 // for those calls we don't specify a range so it affects the whole string
[attrStr setFont:[UIFont systemFontOfSize:12]];
[attrStr setTextColor:[UIColor grayColor]];
// now we only change the color of "Hello"
[attrStr setTextColor:[UIColor redColor] range:NSMakeRange(0,5)];