我正在使用下面的代码在普通(未分组)的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];
}
答案 0 :(得分:38)
您应该能够通过设置rowHeight来强制行高,即使行数为0。
self.tableView.rowHeight = 75.0;
您也可以在IB中进行设置。
如果在cellForRowAtIndexPath中设置了一个单元格,则只会调用heightForRowAtIndexPath,而这是tableview的一个属性,并且始终存在。
答案 1 :(得分:0)
我在单元格内部使用了自动版式,因此我需要自动行高。但是我还希望当表为空时,单元格的大小大于标准的44点高度。我最终要做的是将情节提要文件中的行高和估计值设置为124,并实现tableView:heightForRowAtIndexPath:
方法以返回UITableViewAutomaticDimension
:
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
答案 2 :(得分:-1)
你的空表是什么意思?如果完整表为空,则返回的表的节数为空。这意味着桌面上根本不会显示任何内容。
如果你有一个空表行=表格单元格,那么你应该确保cell at indexpath
返回你只需要放空值的东西。然后,表格中的其他行之间会有一条空行。
究竟是什么/应该是空的?