我想开发一个在字体大小和行高方面非常紧凑的视图。
是否可以自定义UITableViewController,以便您使用的字体大小/行高是什么?事实上,更一般的问题是UITableViewController易于定制,以便您可以在其中放置您想要的东西,并将其用于显示您的自定义单元格的框架?
有兴趣知道这里是否有任何gottcha,如果有什么是下一个选项?是否应该直接使用绘图类型命令“绘制”自己的界面?
(试图确定在阅读方面的挖掘位置)
感谢
答案 0 :(得分:3)
如果您的所有单元格都是同质的,则可以调整rowHeight
UITableViewController
实例的UITableView
属性。
self.tableView.rowHeight = 22.0
对于不同高度的单元格,您必须实现UITableViewDelegate方法- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
。
在此方法中,您将确定在给定indexPath的情况下需要显示多少文本,并计算并返回该行的高度值。
尽管如此,Apple的人机界面指南建议UITableViewCell高度至少应为44点,考虑到人的手指厚度。
答案 1 :(得分:2)
根据您正在使用的UITableViewCellStyle,您可以使用textLabel和detailTextLabel元素,并且可以在它们上设置字体/大小/颜色。
cell.detailTextLabel.font = [UIFont boldSystemFontOfSize:18];
举个例子。
我听说将这些修改放在
中- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
是正确的做法。
答案 2 :(得分:1)
以下是设置行高的方法。由于开销
,显然这样做比在willDisplayCell方法中设置它更好- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGFloat result;
result = 20;
return result;
}