如何在UITableView中格式化文本?

时间:2009-12-29 01:27:18

标签: iphone uitableview

在iPhone通讯录应用程序中,姓氏/公司都是粗体文字。我想在单元格中进行一些简单的文本格式化。

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

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

是否有人找到了在UITableView中获取基本文本格式的简单方法?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

似乎有两个问题可能会问:

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

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