【问题标题】:How do I format text within a UITableView?如何在 UITableView 中格式化文本?
【发布时间】:2009-12-29 12:56:55
【问题描述】:

在 iPhone 通讯簿应用程序中,姓氏/公司均以粗体显示。我想在一个单元格中做一些简单的文本格式。

我看到一些提到使用 UIWebView,但这似乎是一个非常繁重的解决方案。此外,这很复杂,因为必须修复单元格大小或进行一些特殊处理才能恢复大小。

我知道的另一种选择是手动渲染单元格。这对于简单的事情可能不会太难,但显然很快就会变得复杂。

有没有人找到一种在 UITableView 中获取基本文本格式的简单方法?

【问题讨论】:

    标签: iphone uitableview


    【解决方案1】:

    一般的答案是手动渲染单元格。是的,它很快就会变得复杂,但这是你通常的做法。如果您的需求非常简单,您可以为每个片段创建单独的 UILabel,然后格式化每个片段,然后将它们布局,但在大多数情况下,这很快就会变得像自己渲染文本一样复杂,几乎总是比较慢。

    NSAttributedString 和相关的 UIKit 绘图扩展将是 iPhone 的一个受欢迎的补充,但它不可用。它基本上归结为手工渲染,或使用网络视图。

    【讨论】:

      【解决方案2】:

      您可能会问两个问题:

      1. 如何更改表格中项目的格式?更改单元格中textLabeldetailLabel 的属性。没什么。

      2. 如何创建具有混合格式的项目(例如,联系人应用程序中混合的纯文本和粗体文本)?标签不这样做,所以你必须自己做。子类化UILabel 以覆盖它绘制文本的方式,或者直接在-[UITableViewCell drawRect:] 中进行绘制。

      【讨论】:

      • 我不是在问如何更改整个文本标签的格式。我特别提到了地址簿,因为它具有混合格式。
      • 好的,这就是我介绍这两种选择的原因。但是你的问题措辞不是很清楚,都是合理的解释。
      猜你喜欢
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2014-07-21
      • 1970-01-01
      相关资源
      最近更新 更多