我认为这些信息会更容易找到:-)
UITableViewCell 的默认高度是多少?它看起来像 44 像素,但我更愿意确定。
它是 44 像素。确实。我永远不会忘记那个号码。
44px 也是 UIToolbar 和 UINavigationBar 的默认高度。(当自动旋转到横向时,两者都会切换到 32 像素。)
如果你想在任何设备上使用默认尺寸,你可以使用: UITableViewAutomaticDimension
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
虽然 44 像素目前是默认值,但如果您的应用依赖于设置默认值,这将是一种有用的方法。
当 时style = UITableViewStyleGrouped
,顶部和底部单元格的默认高度实际上是45.0f
(不是44.0f
)。而且,如果分组表只有一行,则单元格高度将为46.0f
.
如果您想即时计算,只需分配一个虚拟表格单元格并读取其高度
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;
这样你就可以抵御未来 iOS 版本的变化,尽管我认为这不太可能。
在Swift 4和Swift 5中,只需使用:
UITableView.automaticDimension
使用 44px 是不够的,因为它会随着不同的屏幕像素密度而变化。
“当 style = UITableViewStyleGrouped 时,顶部和底部单元格的默认高度实际上是 45.0f(不是 44.0f)。而且,如果分组表只有一行,则单元格高度将为 46.0f。” 这是错的!!事实上44.0f!我只是测试一下!
这听起来很对。但要确保您可以加载界面生成器,将 UITableViewCell 放入项目中,然后在检查器窗口中检查大小属性。我现在没有 MacBook,所以无法查看。但是,如果您没有从某人那里得到更好的答案,那么您可以自己检查。