2011-02-28 70 views
0

我想开发一个非常紧凑的字体大小和行高的视图。可以将UITableViewController自定义为非常紧凑/小型的字体吗?

是否可以自定义UITableViewController,以便您使用的字体大小/行高是什么?实际上,更一般的问题是UITableViewController容易定制,您可以将其中所需的任何内容放入其中,并将其用于显示自定义单元格的框架?

有兴趣知道这里是否有任何gottcha,如果有一些什么是下一个选项?是否会直接使用绘图类型命令“绘制”自己的界面?

(试图确定在哪里挖,在条款读了)

感谢

+0

您可以自定义单元格内容,无论您想要什么。 cell.textLabel.font – Splendid 2011-02-28 09:28:51

回答

3

如果所有的细胞是同质的,可以调整的UITableViewUITableViewController的实例的rowHeight财产。

self.tableView.rowHeight = 22.0

不同高度的细胞,你将不得不实施的UITableViewDelegate方法,- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

在此方法中,您将确定在给定indexPath的情况下需要显示多少文本,并计算并返回该行的高度值。

说了这么多,考虑到人类手指的厚度,Apple的人机界面指南建议UITableViewCell高度至少应为44点。

+0

如何改变你在那里显示的文本的字体?我猜想有较小字体的概念,然后自动调整行高到这个想法 - 这将是查看没有点击可能 – Greg 2011-02-28 07:13:37

+0

将标记为答案,因为马克得到了问题的第一部分的答案(我已经回答了这个问题自己就第二部分) – Greg 2011-02-28 11:19:00

2

取决于你与你工作UITableViewCellStyle有一个为textLabel和detailTextLabel元素一起工作,你可以对它们设置字体/大小/颜色。

cell.detailTextLabel.font = [UIFont boldSystemFontOfSize:18];举一个例子。

听说把这些修改在

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 

是做正确的事。

+0

感谢杰森 - 看到我在您的线索 – Greg 2011-02-28 11:18:23

+0

跟进后公布答案我同意heigthforRowAtIndexPath是细胞高度适当的位置。我认为这个问题也是针对字体大小。 – 2011-03-01 07:43:14

1

以下是设置行高的方法。显然这样做比将其设置在willDisplayCell方法中的开销要好

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    CGFloat result; 
    result = 20; 
    return result; 
} 
相关问题