0

如何在不更改数据源的情况下设置要在 UITableView 中显示的最小行数?

换句话说,我宁愿不向数据数组添加空对象,以显示空行。

4

3 回答 3

0

在您的tableView:numberOfRowsInSection:数据源方法中,您可能会返回更多的行数。以下代码假设您的数据源是一个数组。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{   
    int amountOfEmptyRows = 3;
    return [yourDataArray count] + amountOfEmptyRows;
}

但请确保您没有越界访问数组索引,因为在这种情况下,其他表视图委托和数据源方法将要求超出您的数据数组长度的 indexPath.row。

于 2012-09-04T10:32:25.297 回答
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
于 2012-09-04T11:17:57.270 回答
0

您没有指定的正是“空”单元格所在的位置 - 在数组的末尾或与“完整”单元格混合。假设您的 dataSource 告诉表格您希望显示 100 个单元格,但支持这些单元格的数据缺少随机数据位,我的建议是将“空”单元格的高度设置为零,并且当数据进入您的容器时仅重新加载现在有数据的单元格。

于 2012-09-04T11:34:00.837 回答