2010-12-03 68 views
2

我似乎无法弄清楚如何隐藏没有数据的表格单元格。在分组视图中,每条数据只能得到一个单元格。而在普通的视图中,它将单元格渲染到屏幕的底部。我确定它是可能的,因为世界时钟是这样做的iPhone:在普通视图表中隐藏空表格单元

回答

4

无论表的类型如何,它都会在Interface Builder中填充分配给它的空间(或者分配的任何帧,等等,如果你正在以编程方式创建它)。

您可能想要做的是将背景设置为透明(在界面生成器中使用“清除颜色”选项作为背景颜色)并使用自定义单元格背景,这是我相信世界时钟所做的。

为此,只需在tableView:cellForRowAtIndexPath:方法中通过创建视图并在UITableViewCell上适当地使用setBackgroundView和setSelectedBackgroundView方法来实现在tableView:cellForRowAtIndexPath:方法中返回的表格单元格中的背景。

+0

所以我们不能有背景颜色?我们正在建立的表格控制支持很多不同的选项 – Burf2000 2010-12-03 14:32:12

5

为了得到这个世界时钟效果我给自己定一个背景图像的UITableView背景,并通过把表的背景颜色为clearColor

UIImage *image = [UIImage imageNamed:@"background.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
[imageView setFrame:self.tableView.bounds]; 
[self.tableView setBackgroundView:imageView]; 
[imageView release]; 
[self.tableView setBackgroundColor:[UIColor clearColor]]; 

为了摆脱我的隔板VE通过

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

改变了分离式的,以没有对于我的UITableViewCell设置背景颜色(她e:white):

UIView *cellBackgroundView = [[UIView alloc] init]; 
[cellBackgroundView setBackgroundColor:[UIColor whiteColor]]; 
[cell setBackgroundView:cellBackgroundView]; 
[cellBackgroundView release]; 
2

This answer Andy是最简单的解决方案。它告诉表视图有一个页脚(这是零大小),并防止分隔线(它使空行的外观)被绘制。

相关问题