【问题标题】:UITableview cells height is not working in a empty table?UITableview 单元格高度在空表中不起作用?
【发布时间】:2011-08-27 13:05:48
【问题描述】:

我正在使用下面的代码在一个普通的(未分组的)UITableView 上创建一个更大、更干净的外观。它工作正常,除非我有一个空表,然后单元格的高度设置为正常高度。我有标准的 Separatorstyle(灰线),所以如果它是空的,它看起来很糟糕。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    return 75;
}

知道如何解决这个问题吗?

编辑:

找到了一个更好的解决方案,如果表格为“空”,我什至不显示行,而是显示指南文本。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if ([dataArray count] == 0) {
        [theTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
        [pleaseAddStuffText setHidden:NO];
    } else {
        [theTableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
        [pleaseAddStuffText setHidden:YES];
    }
    return [dataArray count];
}

【问题讨论】:

  • “空表”是指您的numberOfSectionsInTableView: 和/或tableView:numberOfRowsInSection: 返回0?
  • 那么你的tableView:heightForRowAtIndexPath:永远不应该被调用,你可以设置一个断点来检查它。
  • 好问题,很好的解决方法。

标签: iphone objective-c ios ipad ios4


【解决方案1】:

您应该能够通过设置 rowHeight 来始终强制设置行高,即使行数为 0。

self.tableView.rowHeight = 75.0;

您也可以在IB中设置。

heightForRowAtIndexPath 似乎只有在 cellForRowAtIndexPath 中设置单元格时才被调用,而这是 tableview 的属性并且始终存在。

【讨论】:

    【解决方案2】:

    我在单元格内使用自动布局,所以我需要自动行高。但是当表格为空时,我也希望单元格大小大于标准的 44 点高度。我最终做的是在故事板文件中设置行高和估计为 124 并实现 tableView:heightForRowAtIndexPath: 方法以返回 UITableViewAutomaticDimension

    - (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        return UITableViewAutomaticDimension;
    }
    

    【讨论】:

      【解决方案3】:

      空表是什么意思?如果整个表为空,则返回的表的节数为空。这意味着桌子上根本不会显示任何内容。

      如果你有一个空的表格行 = 表格单元格,那么你应该确保 cell at indexpath 返回一些你只需要放置空值的地方。然后,您的表格中的其他行之间将有一个空行。

      究竟什么是/应该是空的?

      【讨论】:

      • 空表 = 没有要显示的数据/单元格。输入 Separatorstyle 之间的高度。
      猜你喜欢
      • 2015-04-02
      • 2021-09-17
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多