使用Objective C增加单元格数量时如何动态增加UITableView高度?
Posted
技术标签:
【中文标题】使用Objective C增加单元格数量时如何动态增加UITableView高度?【英文标题】:How to increase UITableView Height Dynamically When number of cell is increased using Objective C? 【发布时间】:2017-11-29 11:32:38 【问题描述】:我是 ios 新手。我已经实现了一个成功填充数组值的表格视图,但我对结果不满意。当我滚动我的表格视图时,顶部的值被隐藏了。
这是我的问题:根据单元格高度,表格视图高度也应该在UITableview
中动态增加。我怎样才能做到这一点?
【问题讨论】:
为什么要增加表格高度,它是一种滚动视图。您可以在其中渲染尽可能多的行,这将滚动到最后。如果你试图在一个屏幕上显示所有行,那么总行大小超过屏幕高度是很困难的。 从图片中,你在TableView中添加了Textfields和Done Button吗? 不,我在底部和视图控制器中创建了一个表格视图 当我滚动tableview时,顶部的值被隐藏了,解决方法是增加tableview的高度,但我不知道该怎么做?? 您可以从添加 TableView 的 Storyboard 或 Xib 中增加大小。如果该表格视图的高度从您的设备底部增加,那么该高度没有用,因为您的内容将呈现在 TableView 中并且单元格对象将隐藏。 【参考方案1】:对于 UITableViewCell 动态高度,您可以使用以下 delegate
并返回 UITableViewAutomaticDimension
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
return 300; //give maximum heigh you want
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
return UITableViewAutomaticDimension;
并根据内容大小增加表格视图高度,请使用以下代码行
YOUR_TABLE_VIEW_HEIGHT_CONSTRAINT.constant = [YOUR_TABLE_VIEW contentSize].height;
希望对你有帮助
【讨论】:
当我运行时出现此错误 *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“表视图行高不能为负 - 为索引路径提供高度(以上是关于使用Objective C增加单元格数量时如何动态增加UITableView高度?的主要内容,如果未能解决你的问题,请参考以下文章
使用Objective C增加Tableview高度时动态增加UIView高度?
Objective -C XCTest:如何在表格单元格中一直向上滑动
Objective C - iOS,在屏幕外的静态表格单元格中遍历 UILabel