UITableViewCell的默认高度是多少?

Rob*_*Rob 164 iphone uitableview ios

我认为这些信息更容易找到:-)

UITableViewCell的默认高度是多少?它看起来像44像素,但我更愿意确定.

Mar*_*rco 358

这是44像素.当然.我永远不会忘记这个数字.

44px也是UIToolbar和UINavigationBar的默认高度.(当自动旋转到横向时,两者都切换到32像素.)

  • 哈哈,"我永远不会忘记这个数字"听起来不祥;-) (61认同)
  • 从技术上讲,这是44分.它将在Retina显示屏上显示为88px.不要分裂头发或任何东西. (44认同)
  • tableView.rowHeight (23认同)
  • @antony:view.bounds.size.height (4认同)
  • @MikeyWard:您可能已经想到了这一点,但1px分隔符包含在高度中.它实际上涵盖了细胞的最底层内容. (4认同)

sim*_*ley 25

如果您想在任何设备上使用默认维度:UITableViewAutomaticDimension

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewAutomaticDimension;
}
Run Code Online (Sandbox Code Playgroud)

虽然目前默认为44像素,但如果您的应用依赖于设置默认值,则这是一种有用的方法.

  • 在Swift 4中被重命名为UITableView.automaticDimensions (2认同)

ma1*_*w28 16

何时style = UITableViewStyleGrouped,顶部和底部单元格的默认高度实际上是45.0f(不是44.0f).并且,如果分组表只有一行,则单元格高度为46.0f.


bra*_*jam 10

如果要动态计算,只需分配一个虚拟表格单元格并读取其高度

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;
Run Code Online (Sandbox Code Playgroud)

这样你可以防御iOS未来版本的变化,虽然我认为这不太可能.

  • 自动布局一切都有问题. (27认同)