如何在不重用的情况下选择tableview中的第一个单元格?

问题描述:

我想选择tableview中的第一个单元格,并为其指定一个100%的alpha,仅用于第一个单元格,并且此样式不应该被dequeueReusableCell方法重用。如何在不重用的情况下选择tableview中的第一个单元格?

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

当我使用上面的代码的功能cellForItemAt它将的1.0的α设置为每第七细胞内。我只希望它被应用在第一个单元格上,并且样式不应该被重用......我该如何解决这个问题?我应该创建另一个自定义单元吗?还是在代码中有一种好的方法来实现这一点?

+0

请尝试在数据模型中更新。 – user2071152

如果不是第一个单元格,你应该重置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

创建一个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