0

我已经使用 UIVIew 类引用创建了名为 CustomCell 的自定义单元格,并与名为 SlidingCustomCell 的 UITableViewCell 引用创建了接口。在这个接口中我称之为 CustomCell 接口。出现滑动事件时,我想滑动单元格。为此,我在接口 SlidinCustomCell 方法中创建:

-(void)touchesMoved 

用简单的代码

CGRect frame = cellGroup.frame;
frame.origin = CGPointMake(100, 0);
cellGroup.frame = frame;

当我滑动第一个单元格时,一切看起来都很好,直到我向下滚动并看到第 9 个单元格在没有我交互的情况下自动滑动。每个滑动单元格都会出现此错误。(1. 单元格自动幻灯片 9. 单元格,2. 单元格自动幻灯片 10. 单元格等)。我已经创建了 20 个表格单元格。

4

2 回答 2

0

即使您没有与它们交互,单元格出现滑动的原因是因为它们正在被重用。用tableView:willDisplayCell:forRowAtIndexPath:您的模型验证单元格确实是滑动的,并将其更改为假设的任何内容(滑动或不滑动)。

于 2012-05-17T09:55:21.643 回答
0

您的其他单元格被滑过的原因是因为它们正在被重复使用

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

您需要在模型中设置一个变量来标记每个单元格何时滑过。然后在每次创建单元格时检查该项目是否确实需要滑动。

像这样的东西。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ 
   //code to create cell here...
   if (thisModelItemNeedsToBeSlidOver)
    {
        [someTableCell slideOverMethod];
    } 
    else
    {
        [someTableCell resetSlideOver];
     }
}
于 2012-05-17T10:06:24.157 回答