2010-12-03 107 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是最簡單的解決方案。它告訴表視圖有一個頁腳(這是零大小),並防止分隔線(它使空行的外觀)被繪製。

相關問題