167

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

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

4

8 回答 8

363

它是 44 像素。确实。我永远不会忘记那个号码。

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

于 2009-02-27T15:19:55.093 回答
27

如果你想在任何设备上使用默认尺寸,你可以使用: UITableViewAutomaticDimension

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

    return UITableViewAutomaticDimension;
}

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

于 2015-08-21T16:16:10.647 回答
16

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

于 2011-12-20T21:49:31.163 回答
11

如果您想即时计算,只需分配一个虚拟表格单元格并读取其高度

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;

这样你就可以抵御未来 iOS 版本的变化,尽管我认为这不太可能。

于 2012-07-10T17:19:10.570 回答
4

Swift 4Swift 5中,只需使用:

UITableView.automaticDimension

使用 44px 是不够的,因为它会随着不同的屏幕像素密度而变化。

于 2019-05-21T09:55:45.767 回答
3

“当 style = UITableViewStyleGrouped 时,顶部和底部单元格的默认高度实际上是 45.0f(不是 44.0f)。而且,如果分组表只有一行,则单元格高度将为 46.0f。” 这是错的!!事实上44.0f!我只是测试一下!

于 2012-12-10T11:52:47.017 回答
2

这听起来很对。但要确保您可以加载界面生成器,将 UITableViewCell 放入项目中,然后在检查器窗口中检查大小属性。我现在没有 MacBook,所以无法查看。但是,如果您没有从某人那里得到更好的答案,那么您可以自己检查。

于 2009-02-27T14:12:16.440 回答
0

在 iOS 12 上,iPhone X 等设备(X、XS、XS Max、XR)的默认高度为49pt

iOS 12 上的其他设备仍然默认为44pt。这是一个微妙的差异,但在直接比较中感觉像是一个很好的改进。

如果您不相信我,请在此屏幕截图中自己测量(不要忘记除以 3)...;)

于 2019-01-29T16:05:03.793 回答