2012-10-31 69 views
3

原始UITableViewCell的最大高度是多少?

我目前工作的一个应用程序,用户可以调整字体在一个UITextView达50pt。就其本身而言,他们也可以用这些UITextView中的文字编辑文字(我的老板想要限制任何类型的规定行为)。 UITextView然后动态调整垂直大小以适应文本数量。一切都很好。但是,一旦这个UITextView的高度超过一定的大小,任何后续的字符将被添加,但将被视为隐藏,除非我允许UITextView滚动。我不得不补充说,这是一个边缘情况。但是,由于该应用鼓励这种行为,因此偶尔可能会遇到此限制。

我是否认为UITextView的高度实际上是有限制的?或者这个问题可能是其他问题?

编辑

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

回答我的问题

谢谢@jere和@ A-现场为您解答他们帮助很大。我知道自己像个白痴。

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”。

+0

你能澄清“问题”吗?我不太了解你如何调整视图的大小:a。直到达到底部超视图边缘(这是有道理的,应该与用户体验匹配)或b。无限的(除非superview是另一个scrollView使其表现相同,否则没有意义)。 –

+0

是的,也许我的回答是不够描述。我已经为我的原始问题添加了一个编辑。 – WillSeabrook

+0

我不认为它是受限于(由设计)除了类型的最大值,是否有任何特别的原因,这样的担心?您可以通过https://developer.apple.com/library/ios/#documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html查看CGRect规范,查找CGFLOAT_MAX。 –

回答

7

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

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

现在,这里的Apple docs的关于代表法的有趣的部分:

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

所以我想这必须是最大值或什么的。如果你的单元格超过200或300像素,这将是有点疯狂......

+0

我同意一个单元格应该超过300px是疯狂的,但不幸的是这是被请求的。我以为你已经为我提供了关于表格单元的有趣信息。不幸的是,如果我主动将行高设置为2009,那么单元格比textView大得多,这将导致我相信我在我最初的假设中是正确的,实际上textView拒绝超出某个点。 – WillSeabrook

+0

耶刚刚阅读您更新的答案,很高兴我帮助! – jere

0

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

相关问题