uitableview group 样式为啥行高变大

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uitableview group 样式为啥行高变大相关的知识,希望对你有一定的参考价值。

参考技术A 难道你的tableview只显示在屏幕很小的区域吗。。如果是除了导航栏和底部的tabar就是你的tableview的话,不需要设置啊

UITableView 行高没有用文字画得更高

【中文标题】UITableView 行高没有用文字画得更高【英文标题】:UITableView row height not drawing taller with text 【发布时间】:2011-04-14 21:44:18 【问题描述】:

我正在尝试模仿通讯簿/联系人应用程序中的地址单元格。

我想要一个样式为UITableViewCellStyleValue2 的单元格显示地址,例如:

// 123 Fake St.
// Suite 555
// Denver CO, 80000

但实际的单元格并没有按照我想要的方式绘制。标签在 tableview 行的边界之外绘制,并且标签顶部的一部分被其正上方的行截断。

这是我目前所拥有的:

cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.autoresizingMask = UIViewAutoresizingFlexibleHeight; //doesn't seem to do anything
self.tableView.rowHeight = 88.0f; // default is 44.0
cell.detailTextLabel.numberOfLines = 0; //unlimited lines

NSLog 声明确认 rowHeight 设置为 88.0。

我意识到存在一个委托方法来更改行高。但是,在我当前的应用程序中,我只需要这个单元格来扩展文本,所以我觉得没有必要实现委托方法。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

我认为以这种方式(self.tableView.rowHeight = 88.0f;)为单行设置行高是行不通的。您应该实现在您的情况下非常简单的委托方法,即

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
    return ([indexPath row] == MY_TALLER_CELL_ROW) ? 88.0f : 44.0f;

【讨论】:

【参考方案2】:

我认为如果不使用单元格的默认 textLabeldetailTextLabel 视图,您可能会更幸运;相反,创建您自己的标签并将它们添加到单元格的内容视图中。

【讨论】:

以上是关于uitableview group 样式为啥行高变大的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 样式设置为“Grouped”,但程序在 iPhone 上使用“Plain”

在代码中设置 ListView 行高

UITableView 自己改变样式

iOS UITableView 解决估算行高和指定行高的矛盾

iPhone + UITableView + 行高

通用故事板 UITableview 行高