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】:我认为如果不使用单元格的默认 textLabel
和 detailTextLabel
视图,您可能会更幸运;相反,创建您自己的标签并将它们添加到单元格的内容视图中。
【讨论】:
以上是关于uitableview group 样式为啥行高变大的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 样式设置为“Grouped”,但程序在 iPhone 上使用“Plain”