在 UITableView 上实现动态高度

Posted

技术标签:

【中文标题】在 UITableView 上实现动态高度【英文标题】:Implementing a dynamic height on UITableView 【发布时间】:2012-01-10 13:48:13 【问题描述】:

我在UIViewController 中嵌入了一个UITableViewTableViewCells 是供用户选择某些内容的行,因此当他们触摸它时会出现一个复选标记,这就是我的问题所在:

我不希望 UITableView 在其窗口中滚动,我希望 TableView 与它包含的项目一起增长。我是否需要在 UIViewController 上放置滚动视图,然后在其上放置 TableView?或者如果内容大于视图,ViewController 会滚动吗?

另外,我什至不知道从哪里开始动态更改UITableView 的高度,无论我在哪里看到动态更改单元格高度。

请帮忙!谢谢!

【问题讨论】:

所以你想要一个只有在比容器视图大时才会滚动的表格视图? 不不,我不希望它滚动,如果需要,我希望容器视图滚动,而不是 tableview 本身......你知道我的意思吗?所以 tableview 基本上是静态的。 不是真的...所以你想要一个可在表格视图下滚动的视图? 是的,我基本上想要一个可供选择的选项列表,但我希望视图滚动而不是列表的大小和滚动受到限制.. 我不认为 OP 理解 UITableViewUIScrollView 的子类。 【参考方案1】:
self.tableView.scrollEnabled=false;

停止滚动

self.tableView.frame=CGRectMake(0, 0, (float)width, (float)height);

设置表格视图的大小

但我不明白你为什么要停止 tableview 滚动并滚动整个视图....

【讨论】:

好吧,也许有一种更简单的方法来做到这一点......我有一个视图,我希望用户命名一些东西,然后选择要包含的选项......所以想想 UITextField 后跟一个可以选择,单击并出现复选标记的对象表...如果您愿意的话,我只是认为如果它是静态列表会更吸引人..而不是仅显示5个选项的框和您必须向上或向下滚动才能选择要包含的更多内容,您知道我的意思吗?有一个更好的方法吗?它是一个嵌入式 UITableView 所以它不是页面的全宽和全长 @gamBit 视图上还有其他内容吗?也许您可以使用具有 2 个部分的分组表格视图,在第一部分中只有一个带有文本字段的表格视图单元,而在另一部分中所有选项。我认为这将是更好的方式 d1xzuxjlafny7l.cloudfront.net/wp-content/uploads/2012/11/… 也许看这个来了解我的意思,在第一部分是一个 tvCell,另一部分是一个普通单元格,你可以在第二个部分添加很多其他单元格部分,这只是一个例子 好吧,其实我也是这么想的,我试试,然后告诉你进展如何!谢谢!

以上是关于在 UITableView 上实现动态高度的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 单元格的动态高度问题(Swift)

嵌套在 UIScrollView 中时保持 UITableView 的重用能力

具有 3 个自定义视图和动态高度的 UITableView

iPhone + UITableView + 行高

滚动/调整 UITableView

UITableView 常用属性及方法