我想为我的 UITableView
创建一个布局,将其分为 2 个部分:
第一部分有 3 行标准高度 (44px),
第二部分有一行,其中包含一个完全填满此单元格的 UITextView
。棘手的部分是我想将此 textView
的单元格行的大小调整为可见 tableview
区域的高度,以便 TextView 占据屏幕上的剩余 View .我怎么知道,在
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
剩下的高度是什么样子的?我之前已经根据可用的两种 iPhone 屏幕尺寸(480 和 568)进行了硬编码假设,但是对于新的 iPhone6 和 iPhone 6+ 屏幕,我不想使用任何假设值来计算这个。
最佳答案
您已经在 tableView.bounds.size.height
处获得了 TableView 的高度,您只需要从中减去第一部分的高度。所以
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
return 44;
}
return tableView.bounds.size.height - 44 * 3;
}
对于 header ,根据它们的行为方式,您可以使用 rectForHeaderInSection:
或 rectForSection:
来获取高度
关于ios - UITableViewCell 高度基于可用屏幕空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25883622/