动态地将单元格添加到分组的 uitableview 并以编程方式适应滚动

Posted

技术标签:

【中文标题】动态地将单元格添加到分组的 uitableview 并以编程方式适应滚动【英文标题】:dynamically add cells to a grouped uitableview and fit the scroll programmatically 【发布时间】:2012-02-12 15:58:46 【问题描述】:

我正在尝试以编程方式创建一个 uitableview,它可以根据单元格的数量进行滚动和调整,所以如果我要添加更多单元格,我可以上下滚动而页面不会弹跳。

我尝试这样做,但它不起作用:

tblSimpleTable = [[UITableView alloc]  initWithFrame:CGRectMake(0, 0, 320, 640) style:UITableViewStyleGrouped ];
tblSimpleTable.scrollEnabled = YES;
tblSimpleTable.dataSource = self;
tblSimpleTable.delegate = self;
[self.view addSubview:tblSimpleTable];

当我添加更多单元格时,我可以上下滚动,但页面会弹起,所以我无法点击底部的单元格。我希望能够滚动并“停留”在我停止的地方。

更新:为了澄清一下,由于我使用的是分组表,我不想显示空单元格,所以我不确定能够的高度应该是多少,因为我可能有 1 个或 100 个单元格。

谢谢!

【问题讨论】:

看看this link 【参考方案1】:

您没有停留在原地的原因是因为您的 UITableView 的高度为 640。这意味着当您在 UITableView 中完全向下滚动时,某些单元格将低于您正在查看的视图的边界通过。您有两个选择:降低表格视图的高度,或者在表格视图的底部添加一些虚拟单元格。

【讨论】:

这正是我的问题 - 我应该设置高度吗?我可能只有一个单元格或 100 个单元格,并且由于它的“分组”,我不想显示空单元格。 表格视图实际上是苹果创建的自定义滚动视图。因此,tableView 的高度是 20 还是 1000 并不重要,它会以适当的方式处理单元格的放置。我会说将高度设置为您的视图的高度。 CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)【参考方案2】:

另外,如果你不希望你的 tableview 滚动反弹,你可以将 tableview 的“bounces”属性设置为 NO。

tableView.bounces = NO;

【讨论】:

以上是关于动态地将单元格添加到分组的 uitableview 并以编程方式适应滚动的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时将单元格动态添加到 UItableview

Swift:动态地将 JSON 添加到表单元格数组中

将 UIButton 添加到 UItableview 单元格

如何通过按下 iPhone 中的按钮将行/单元格动态添加到 UITableView

在动态 UITableView 单元格的索引 0 处创建静态“添加”单元格

实现 UITableView (Slave) 的动态高度,它作为子视图添加到另一个具有动态高度的 UITableView (Master) 的自定义单元格中