当我不知道内容将有多长/多短时,我在理解如何为表格视图实现详细视图控制器时遇到了一些麻烦。
想想一个 RSS 应用程序。主表视图显示所有项目,当您单击时,您应该获得该项目/文章的内容。当表格单元格具有静态高度时,如何使用应用程序的表格视图解决这个问题?
我正在为应用程序使用故事板和 segues。
当我不知道内容将有多长/多短时,我在理解如何为表格视图实现详细视图控制器时遇到了一些麻烦。
想想一个 RSS 应用程序。主表视图显示所有项目,当您单击时,您应该获得该项目/文章的内容。当表格单元格具有静态高度时,如何使用应用程序的表格视图解决这个问题?
我正在为应用程序使用故事板和 segues。
对于您的详细视图,您可以将部分或全部内容放在UIScrollView
.
顺便说一句,表格单元格的高度不是静态的 - 只是实现heightForRowAtIndexPath
从模型数据计算高度。如果单元格包含文本,您将需要计算给定所需字体的大小。(这里有关于如何在 StackOverflow 上执行此操作的答案)
您也可以使用以下方法计算行和标签的动态高度。在详细视图中使用它。我认为它会解决您的查询。
用于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;
}