我有两个custom cell
的{{1}}。
单击其中一个按钮也会基于具有两个uibuttons
的自定义单元格附加行。
点击按钮后,我将uibuttons
更改为50%,布尔alpha
设置为true。因此,下次用户按下按钮时,会产生isPressed
错误。
问题是 - 每次我滚动时 - 带有按钮的单元格正在重复使用,这两个规则会被混乱地应用。
我已经在堆栈上浏览了答案,但没有看到任何可以帮助我的东西,尤其是在快速的情况下。我知道可以创建一个数组,用alert view
,boolean
或indexPath.row
对象附加它 - 然后在滚动tableview时以某种方式使用这个数组。但实施对我来说并不清楚。更难的是我有一排两个按钮。
非常感谢有关该主题的任何帮助。
谢谢。
答案 0 :(得分:4)
在objc中实现的想法将如下所示:
创建一个大小等于单元格数的NSArray。
使用[NSNumber numberWithBOOL:NO]
等对象初始化它
在致电YES
[self.tableView reloadData];
cellForRowAtIndexPath
中检查是否
[array[indexPath.row] boolValue]
为YES或NO并设置按钮
状态。希望它会有所帮助。
答案 1 :(得分:2)
桌面视图有很多教程。 Like here。您需要从视图(表格中的单元格和按钮)中分离数据模型(例如是否按下按钮)。如果这个想法不清楚,你会想要查找MVC(模型视图控制器)或MVVM(模型视图视图模型)。
这个想法是你有一个记录,例如在一个数组中,记录表中所有项目的样子,无论它们是否在屏幕上。当您需要显示一个单元格时,根据数组中的信息覆盖其当前状态(因为它正在被回收) - 基于数组中的信息。