我有一个字符串:
NSString *userInfo = @"James Johnson @james";
我想做的是粗体James Johnson
并保持@james
正常的字体.
所以我试过的是在NSAttributedString
某个地方使用我做错了什么来完成这个过程.
这是我尝试过的:
NSString *user = @"James Johnson @james"; UIFont *fontLight = [UIFont fontWithName:@"HelveticaNeue-Light" size:14]; UIFont *fontBold = [UIFont fontWithName:@"HelveticaNeue-Bold" size:14]; NSMutableAttributedString *string = [[NSMutableAttributedString alloc]initWithString:userInfo]; //TESTING WITH RANDOM PARTS OF THE STRIN [string addAttribute:NSForegroundColorAttributeName value:fontLight range:NSMakeRange(0, 3)]; [string addAttribute:NSForegroundColorAttributeName value:fontBold range:NSMakeRange(3, 5)]; NSString *str = [string string]; cell.textLabel.text = str;
即使我走错方向,有没有办法让这项工作成功?
什么不起作用由于某种原因,范围0 - 3中的字符不是轻字体...而是整个cell.textLabel.text
以某种方式加粗,而不是我在UIFont中指定的字体大小14.
你的最后一部分是错的.您必须使用创建NSAttributedString
并最终废弃格式
NSString *str = [string string];
由于NSString
对格式化一无所知,您必须使用NSAttributedString
它将其分配给单元格textLabel
:
cell.textLabel.attributedText = string;