我正在开发一个需要一直显示 5 行数据的应用程序。行的数据来自一个NSArray
字符串。可以为空,NSArray
也可以最多包含 5 个元素。我想强制UITableView
一直显示 5 行。我试过了,当NSArray
只有 1 个元素时,由于我定义了 5 行 ( numberOfRowsInSection
),iOS 会引发异常。如何UITableView
在不引发异常的情况下始终显示 5 行(分组、单行)?另外,如何使节标题居中?我正在使用titleForHeaderInSection
方法。
问问题
169 次
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
替换UITextAlignmentCenter
为NSTextAlignmentCenter
。
它通过使用viewForHeaderInSection
和返回居中的UILabel
.
于 2013-01-21T21:51:07.890 回答
0
- 要显示 5 行,您应该在 numberOfRowsInSection 中返回常量 5 并在方法中
cellForRowAtIndexPath
生成您的空单元格if indexPath.row >= [array count]
。 - 要在中心显示标题,请使用
- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
于 2013-01-21T21:54:19.127 回答