大家好,我在我的应用程序中遇到了一个奇怪的问题。我的表格视图有一个自定义单元格,我的单元格上有一个按钮。我必须在该按钮上添加收藏夹和不喜欢的功能,因此如果点击该按钮,它将使该单元格上的项目成为收藏夹,并且按钮将处于选定状态,如果用户再次点击它,它将被取消选择。就像复选框一样。问题是当我选择一个按钮时,它也是第 5 个按钮。例如,如果我选择第 3 个索引上的按钮,那么它也会选择索引 8 上的按钮。
任何机构都面临这个问题?有谁能够帮助我?
大家好,我在我的应用程序中遇到了一个奇怪的问题。我的表格视图有一个自定义单元格,我的单元格上有一个按钮。我必须在该按钮上添加收藏夹和不喜欢的功能,因此如果点击该按钮,它将使该单元格上的项目成为收藏夹,并且按钮将处于选定状态,如果用户再次点击它,它将被取消选择。就像复选框一样。问题是当我选择一个按钮时,它也是第 5 个按钮。例如,如果我选择第 3 个索引上的按钮,那么它也会选择索引 8 上的按钮。
任何机构都面临这个问题?有谁能够帮助我?
问题是因为你在重复使用你的细胞。因此,当您选择索引 0 处的单元格时,如果有 4 个可见单元格,那么当您向下滚动索引为 5 的单元格时,将重用索引 0 处的单元格,并且它也会被选中。
要解决该问题,您应该始终配置单元格- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
并将所有可以更改或单独用于不同单元格的属性重置为默认值。
我想这是因为 UITableViewCells 被缓存了。这就是 -dequeueReusableCellWithIdentifier 所做的。在您的“cellForRowAtIndexPath”函数中,添加一些逻辑来设置按钮的状态,具体取决于该行的对象是否被收藏。