0

我正在开发一个需要一直显示 5 行数据的应用程序。行的数据来自一个NSArray字符串。可以为空,NSArray也可以最多包含 5 个元素。我想强制UITableView一直显示 5 行。我试过了,当NSArray只有 1 个元素时,由于我定义了 5 行 ( numberOfRowsInSection),iOS 会引发异常。如何UITableView在不引发异常的情况下始终显示 5 行(分组、单行)?另外,如何使节标题居中?我正在使用titleForHeaderInSection方法。

4

2 回答 2

1

在您的cellForRowAtIndexPath中,您需要实现基于NSArray字符串大小的逻辑。

使用 查找字符串的总数[NSArray count]。然后,检查是否indexPath.row小于[NSArray count]并使用标准实现,从数组中获取字符串indexPath.row作为索引。如果indexPath.row不小于[NSArray count],那么您可以将单元格保持为空(并且不要尝试从数组中检索任何内容)。那么你不会有那个例外。

对于标题标题,这有效吗? https://discussions.apple.com/thread/2539133?start=0&tstart=0

替换UITextAlignmentCenterNSTextAlignmentCenter

它通过使用viewForHeaderInSection和返回居中的UILabel.

于 2013-01-21T21:51:07.890 回答
0
  1. 要显示 5 行,您应该在 numberOfRowsInSection 中返回常量 5 并在方法中cellForRowAtIndexPath生成您的空单元格if indexPath.row >= [array count]
  2. 要在中心显示标题,请使用

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
于 2013-01-21T21:54:19.127 回答