UITableViewCell 的最大高度是多少?

Posted

技术标签:

【中文标题】UITableViewCell 的最大高度是多少?【英文标题】:What is the maximum height for a UITableViewCell? 【发布时间】:2012-10-31 11:44:12 【问题描述】:

原创

我目前正在开发一个应用程序,用户可以在其中将 UITextView 中的字体大小调整为 50pt。就目前而言,他们还可以使用任意数量的字符编辑此 UITextView 中的文本(我的老板希望限制任何类型的规定性行为)。 UITextView 然后动态地垂直调整大小以适应文本量。一切都很好。但是,一旦这个 UITextView 的高度超过了一定的大小,任何后续的字符都会被添加,但是会被隐藏,除非我允许 UITextView 是可滚动的。

我必须补充一点,这是一个极端情况。但是,由于该应用程序鼓励这种行为,因此有时可能会遇到此限制。

我是否正确地认为 UITextView 的高度实际上是有限制的?还是可能是其他问题?

编辑

好吧,也许我误解了自己的情况。我没有考虑到 textView 位于 tableViewCell 中的事实,而我实际上正在做的是随着 textView 大小的增加而调整单元格的大小。那么tableViewCell的高度有限制吗?

回答我的问题

感谢@jere 和@A-Live 的回答,他们帮助很大。我知道感觉自己像个白痴。

A-Live 指出了最大浮点值,这让我突然意识到自己犯了一个如此明显和公然的错误。

为了适当地调整 textView 的大小,使用约束建立了 CGSize。为了确保高度可以达到它想要的高度,一个假定无法达到的高数被用于高度约束(1000)。您可以猜到,1000 不足以达到此目的,因此 textView 停止了。我想这就是为什么提供代码很重要。

CGSize textSize = [textView.text sizeWithFont:textView.font constrainedToSize:CGSizeMake(textView.frame.size.width - PADDING * 2, 1000.0f) lineBreakMode:UILineBreakModeWordWrap];

更新后的问题最准确的答案是@jere,因为已经向我指出了这一点,所以我必须防止单元格大小达到“2009”这个神奇的数字。

【问题讨论】:

你能澄清“问题”吗?我不太明白您如何调整视图大小:直到到达底部超级视图边缘(这很有意义并且应该与用户体验相匹配)或 b。无限(没有意义,除非超级视图是另一个滚动视图,使其行为与 A 相同。)。 是的,也许我的回答描述性不够。我已对原始问题添加了修改。 我认为除了类型最大值之外,它不受任何限制(设计),是否有任何特殊原因引起这种担忧?您可以在developer.apple.com/library/ios/#documentation/graphicsimaging/… 查看 CGRect 规范,查找 CGFLOAT_MAX。 【参考方案1】:

请注意,如果您只想为部分单元格而不是全部设置高度,则必须使用委托方法 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 并在此处返回您想要的行高度。

您也可以使用rowHeight 属性,但这适用于整个表格视图。

下面是Apple docs 关于委托方法的有趣部分:

重要提示:由于底层实现细节,您不应该 返回大于 2009 的值。

所以我想这一定是最大值或其他东西。如果你的单元格超过 200 或 300 像素,那就太疯狂了……

【讨论】:

我同意一个单元格应该超过 300 像素是很疯狂的,但不幸的是,这就是所要求的。我以为您已经通过有关表格单元格的那条有趣的信息为我找到了答案。不幸的是,如果我主动将行高设置为 2009,那么单元格会比 textView 大得多,这会让我相信我最初的假设是正确的,实际上是 textView 拒绝扩展超过一个点。 【参考方案2】:

UITextView 类没有最大长度属性,因此您可以输入尽可能多的字符以在 TextView 中显示。

【讨论】:

以上是关于UITableViewCell 的最大高度是多少?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置默认的 UITableViewCell 高度?

根据标签文本长度动态自定义 UITableViewCell 的高度

二叉排序树的最大高度是多少

SpriteKit:为什么SKView在一个高度消失但出现在另一个高度? SKView的最大高度是多少?

UITableViewCell自适应内容高度

动画 UITableViewCell 高度