如何在不更改数据源的情况下设置要在 UITableView 中显示的最小行数?
换句话说,我宁愿不向数据数组添加空对象,以显示空行。
在您的tableView:numberOfRowsInSection:数据源方法中,您可能会返回更多的行数。以下代码假设您的数据源是一个数组。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int amountOfEmptyRows = 3;
return [yourDataArray count] + amountOfEmptyRows;
}
但请确保您没有越界访问数组索引,因为在这种情况下,其他表视图委托和数据源方法将要求超出您的数据数组长度的 indexPath.row。
维护两个数组并像这样检查
- (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
您没有指定的正是“空”单元格所在的位置 - 在数组的末尾或与“完整”单元格混合。假设您的 dataSource 告诉表格您希望显示 100 个单元格,但支持这些单元格的数据缺少随机数据位,我的建议是将“空”单元格的高度设置为零,并且当数据进入您的容器时仅重新加载现在有数据的单元格。