2012-05-12 69 views
1

如何隱藏空UITableCells?我的TableCell包含一個背景,所以我想這行代碼如何隱藏空的UITablecells?

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; 
    view.backgroundColor = [UIColor whiteColor]; 
    return view; 
} 

但它沒有工作(因爲我uitablecell背景)

背景:

[tabelView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"table.png"]]]; 
+0

我不明白,如果他們是空的,爲什麼會存在表細胞。當你的數據源被要求輸入單元數時,爲什麼不只是返回你需要的「非空」數呢? –

+0

你是什麼意思的「隱藏」?你想在你的表(即中間)間隙或只在一個表(即最底層的細胞)的最後一個單元是空的? –

+0

我的意思是分開的uitablecells行,我怎麼可以隱藏它們 – Jones

回答

0

你想隱藏頁面中的頁腳或單元格?

如果您有多個部分,您可以檢查該部分委託實際上是。

If (section == 0) { 
Return view; 
} 
1

如果你想刪除的虛擬分隔符,你必須設置表視圖分隔符樣式爲無,這樣的:

tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

注意,這將隱藏非空單元格之間的分隔符以及。如果你想展示這些之間的界限,你必須自己照顧自己,例如通過使用自定義UITableViewCell頂部/底部1px線。

0

版本斯威夫特2.0

如果你想tableViewController僅顯示定義的單元格,你必須實現委託方法tableView(tableView:, viewForFooterInSection section:) -> UIView?與清晰的彩色背景空的UIView。

在這種情況下,如果你定義的方法tableView(tableView: UITableView, numberOfRowsInSection section: Int)返回3個細胞會有不分離只有3可見細胞或在其他細胞的任何背景。

在這裏,你有我的viewForFooterInSection示例實現:

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { 

     let view = UIView() 
     view.backgroundColor = UIColor.clearColor() 

     return view 
    }