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

时间:2012-09-04 10:16:06

标签: ios uitableview

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

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

3 个答案:

答案 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个单元格,但支持这些数据的数据缺少随机的数据位,我的建议是将“空”单元格的高度设置为零,并且当数据出现在你的罐中时只重新加载现在有数据的单元格。