在iPhone中的单元格上获取选定和未选中的按钮问题

时间:2011-09-13 05:32:42

标签: iphone uitableview uibutton custom-cell

大家好我在我的应用程序中遇到了一个奇怪的问题。我的桌面视图有一个自定义单元格,我的单元格上有一个按钮。我必须在该按钮上添加收藏夹一个不受欢迎的功能,所以如果点击该按钮,它将使该单元格中的项目最喜欢并且按钮将处于选定状态,如果用户再次点击它,则将取消选择它。只是喜欢检查箱子。 问题是当我选择一个按钮然后它也是第5个按钮。例如,如果我选择第3个索引上的按钮,那么它也将选择索引8上的按钮。

任何人都面临这个问题?任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

问题是因为你正在重复使用你的细胞。因此,当您在索引0处选择单元格并且如果有4个可见单元格时,那么当您向下滚动索引为5的单元格时,将重用索引0处的单元格,它也将被选中。

要解决此问题,您应始终在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中配置单元格并重置为默认所有可以更改的属性或单独用于不同单元格的属性。

答案 1 :(得分:0)

我想这会发生,因为UITableViewCells是缓存的。这就是-dequeueReusableCellWithIdentifier所做的事情。在“cellForRowAtIndexPath”函数中,添加一些逻辑来设置按钮的状态,具体取决于该行的对象是否被收藏。