表细胞载玻片

时间:2012-05-17 09:19:51

标签: iphone objective-c ios xcode

我已经使用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个表格单元格。

2 个答案:

答案 0 :(得分:0)

即使你没有与他们互动,细胞出现滑落的原因是因为他们被重复使用。在tableView:willDisplayCell:forRowAtIndexPath:中验证您的模型确实已将单元格滑动并将其更改为任何它想要的(滑动或不滑动)。

答案 1 :(得分: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];
     }
}