ios - 在 iphone 中格式化 UITableView 单元格

标签 ios iphone uitableview ios-simulator cell

我正在开发一个 iPhone 应用程序。在下图中,我希望名字使用普通字体,姓氏使用粗体。我该怎么做?请建议我..请检查此图片:

alt text

另一个问题..现在我认为相反的方式,但这里的问题是你看到的第一行和第二行是同一个字符串的一部分。我希望第一行是粗体,第二行是普通字体。我将其存储在字典中。所以我的字典有一个键,值是一串名字和部门。我无法设置字体。我尝试创建两个标签并尝试根据索引拆分字符串并将其分配给我创建的标签。但是,在这种情况下,索引会不断变化,因为联系人可能有名字,也可能没有任何名字。

在这种情况下,Principal 应为普通字体,名称应为粗体

请看下图:

alt text

最佳答案

从 OS 6.0 开始,UILabel 上有一个名为 attributedText 的属性,它具有 NSAttributedString类型(适用于 iOS 3.2 及更高版本。)。

这是我使用它的方式:

  NSDictionary  *firstNameAttributes = @{ NSFontAttributeName : [UIFont fontWithName:@"Helvetica" size:18.0],
                                          NSStrokeColorAttributeName : [UIColor blackColor]};
  NSDictionary  *lastNameAttributes = @{NSFontAttributeName : [UIFont fontWithName:@"Helvetica-Bold" size:20.0],
                                        NSStrokeColorAttributeName : [UIColor blackColor]};
  NSString* first = ... first name ..;
  NSString* last = [NSString stringWithFormat:@" %@",... last name ....];
  NSMutableAttributedString * name =
    [[NSMutableAttributedString alloc] initWithString:first attributes:firstNameAttributes];
  NSMutableAttributedString * lastName =
  [[NSMutableAttributedString alloc] initWithString:last attributes:lastNameAttributes];
  [name appendAttributedString:lastName];

  [[cell textLabel] setAttributedText:name];

另见 Introduction to Attributed String Programming Guide .

关于ios - 在 iphone 中格式化 UITableView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3533681/

相关文章:

ios - 如何将数组转换为 UnsafeMutablePointer<UnsafeRawPointer?> Swift 3.0?

iphone - 不使用 OpenGL 以加法混合模式绘制图像

ios - 在 Cocoa 中解析 mailto URL 的现成解决方案?

iphone - 同步服务和 iOS

ios - 表删除操作删除单元格内容而不是单元格本身?

ios - 无法将自动布局约束添加到UITableViewCell中的元素

ios - 解耦核心数据

ios - XCDYouTubeVideoPlayerViewController videoURL为nil

ios - 在 Swift 中从 UISplitViewDetail 创建委托(delegate)到 master 时出错

ios - 如何确定从外部didSelectRowAtIndexPath(Objective-C)在UITableView中选择了哪些行