我认为这些信息更容易找到: - )
UITableViewCell的默认高度是多少?它看起来像44像素,但我更愿意确定。
答案 0 :(得分:356)
这是44像素。当然。我永远不会忘记这个号码。
44px也是UIToolbar和UINavigationBar的默认高度。 (当自动旋转到横向时,两者都切换到32像素。)
答案 1 :(得分:23)
如果您想在任何设备上使用默认尺寸:UITableViewAutomaticDimension
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
虽然目前默认为44像素,但如果您的应用依赖于设置默认值,这是一种有用的方法。
答案 2 :(得分:16)
当style = UITableViewStyleGrouped
时,顶部的默认高度为;底部单元格实际上是45.0f
(不是44.0f
)。并且,如果分组表只有一行,则单元格高度为46.0f
。
答案 3 :(得分:10)
如果要动态计算,只需分配一个虚拟表格单元并读取其高度
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;
这样你可以防御iOS未来版本的变化,虽然我认为这不太可能。
答案 4 :(得分:3)
“当style = UITableViewStyleGrouped时,顶部和底部单元格的默认高度实际上是45.0f(不是44.0f)。而且,如果分组表格只有一行,则单元格高度将为46.0f。” 这是不对的!!事实上44.0f!我只是测试它!
答案 5 :(得分:2)
这听起来不错。但是为了确保您可以加载“接口”构建器,将UITableViewCell放入项目中,然后在“检查器”窗口中检查大小属性。我现在没有我的MacBook,所以我无法检查。但如果你没有得到某人更好的答案,那就是你自己检查的方法。
答案 6 :(得分:0)
在iOS 12上,类似iPhone X的设备(X,XS,XS Max,XR)的默认高度为 49pt 。
iOS 12上的其他设备仍默认为 44pt 。 这是一个细微的差异,但是在直接比较中感觉像是一个很好的改进。
如果您不相信我,请在此屏幕截图中为自己测量(不要忘了除以3)...;)
答案 7 :(得分:0)
在 Swift 4 和 Swift 5 中,只需使用:
UITableView.automaticDimension
使用44px不够用,因为它会随屏幕像素密度的不同而变化。