2016-12-02 33 views
0

我想選擇tableview中的第一個單元格,併爲其指定一個100%的alpha,僅用於第一個單元格,並且此樣式不應該被dequeueReusableCell方法重用。如何在不重用的情況下選擇tableview中的第一個單元格?

if indexPath.row == 0 { 
    cell.imageView.alpha = 1.0 
} 

當我使用上面的代碼的功能cellForItemAt它將的1.0的α設置爲每第七細胞內。我只希望它被應用在第一個單元格上,並且樣式不應該被重用......我該如何解決這個問題?我應該創建另一個自定義單元嗎?還是在代碼中有一種好的方法來實現這一點?

+0

請嘗試在數據模型中更新。 – user2071152

回答

2

如果不是第一個單元格,你應該重置imageView的alpha。

if indexPath.row == 0 { 
    cell.imageView.alpha = 1.0 
} 
else { 
    cell.imageView.alpha = 0.0 // or whatever alpha value you need 
} 
+1

一般來說,您爲某些條件設置的任何單元格屬性都必須重置所有其他情況。 – rmaddy

+0

當你開始滾動行jn UiTable將被重新使用。所以第一行的顏色重新出現在後面的行上。提示:您也可以使用節標題作爲標題! – Vincent

+0

謝謝你解決了我的問題。簡單而乾淨! – Caspert

2

創建一個UITableViewCell xib子類。然後,您可以在設置表格時使用不同的reuseIdentifiers註冊同一個單元格。

tableView.register(CustomCell, forCellReuseIdentifier: "AlphaCell") 
tableView.register(CustomCell, forCellReuseIdentifier: "{REUSE_ID}") 

當你設置你的細胞中:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

出列 「AlphaCell」 你的第一個單元格, 「{} REUSE_ID」 你的其他細胞。

+1

對於一個簡單的問題需要很多工作。 – Vincent

+1

@回答,對於某些項目,當單元格本身的內容不同時,我使用的方法與您在此處描述的方法完全相同。然而在這個特殊情況下,這是一個過度殺傷力。 (Downvote不是我)。 – Vincent

相關問題