iOS - UITableViewCell使文本变为粗体

 D调肥仔 发布于 2023-02-07 13:24

我有一个字符串:

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.

1 个回答
  • 你的最后一部分是错的.您必须使用创建NSAttributedString并最终废弃格式

    NSString *str = [string string];
    

    由于NSString对格式化一无所知,您必须使用NSAttributedString它将其分配给单元格textLabel:

    cell.textLabel.attributedText = string;
    

    2023-02-07 13:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有