当我不知道内容有多长/多短时,我在理解如何为表视图实现详细的视图控制器时遇到了一些麻烦。
想想一个RSS应用程序。主表视图显示所有项目,当您单击时,您应该获取该项目/文章的内容。当表格单元格具有静态高度时,如何使用表格视图解决此问题?
我正在为应用程序使用storyboard和segues。
答案 0 :(得分:0)
对于您的详细信息视图,您可以将部分或全部内容放在UIScrollView
中。
顺便说一下,表格单元格高度不是静态的 - 只需实现heightForRowAtIndexPath
来计算模型数据的高度。如果单元格包含文本,则需要计算给定所需字体的大小。 (Theres是关于如何在StackOverflow here上执行此操作的答案)
答案 1 :(得分:0)
您可以使用以下方法计算行和标签的动态高度。请在详细视图中使用。我认为它将解析您的查询。
在heightForRowAtIndexPath
中使用它来设置单元格高度,在cellForRowAtIndexPath
中使用它来设置标签的高度。
-
(CGFloat) GetHeightFoText:(NSString *)aStrTxt FoWidth:(int)aIntWidth ForFontSize:(int)aIntFntSize
{
CGSize maximumLabelSize = CGSizeMake(aIntWidth,9999);
CGSize expectedLabelSize = [text sizeWithFont:[UIFont systemFontOfSize:aIntFntSize]
constrainedToSize:maximumLabelSize
lineBreakMode:UILineBreakModeWordWrap];
return expectedLabelSize.height;
}