如何在不更改数据源的情况下设置要在UITableView中显示的最小行数?
换句话说,我宁愿不向数据数组中添加空对象,以显示空行。
答案 0 :(得分:0)
在 tableView:numberOfRowsInSection:数据源方法中,您可以返回更多行数。假设您的数据源是一个数组,以下代码。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int amountOfEmptyRows = 3;
return [yourDataArray count] + amountOfEmptyRows;
}
但请确保您没有访问数组索引超出范围,因为在这种情况下,其他表视图委托和数据源方法将要求indexPath.row超出数据数组长度。
答案 1 :(得分:0)
维护两个阵列并像这样检查
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if([yourDataArray count]>3 )
return [yourDataArray count];
else
return [demoArray count];
}
这里你必须维护另一个数组,每当数据数组小于3时使用demoArray 这样数据源yourDataArray保持不受干扰
对于以下方法也是如此
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath
答案 2 :(得分:0)
您未指定的内容正好是“空”单元格的位置 - 在数组末尾或与“完整”单元格混合。假设你的dataSource正在告诉表你想要显示100个单元格,但支持这些数据的数据缺少随机的数据位,我的建议是将“空”单元格的高度设置为零,并且当数据出现在你的罐中时只重新加载现在有数据的单元格。