2014-09-02 146 views
0

我使UITableView具有许多单元格。UITableView重复单元格

比在代码中,我在单元格中添加自定义视图,10行后我的自定义UIView重复。

查看更多截图。

bag

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    EFMyTrainingPreviewTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"previewCell"]; 

    "SOME CODE" 

    return cell; 
    } 

    -(void)makeCompleteButtonForWorkOut:(NSIndexPath *)indexPath{ 

    EFMyTrainingPreviewTableViewCell *cell = (EFMyTrainingPreviewTableViewCell *)[_tableviewMyTraining cellForRowAtIndexPath:indexPath]; 
    [_tableviewMyTraining scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; 

    "SOME CODE" 

     [touchViewCompleteApproach addSubview:view]; 

    } 
    [cell addSubview:touchViewCompleteApproach]; 

} 
+0

您好!你正在使用Storyboard? – Fattie 2014-09-02 09:37:49

+0

是的,我使用故事板 – 2014-09-02 09:39:55

+0

它将有助于让你知道你在*代码*部分做了什么总结。当按下某个按钮时,是否将自定义视图添加到表中的现有单元格?如果是这样,请确保在完成其他操作后删除添加的子视图时,如果tableview重用该单元格,则添加的子视图将保留用于您不打算使用的其他单元格。 – nsuinteger 2014-09-02 10:12:55

回答

1

cellForRowAtIndexPath会帮助你,因为当你滚动表格视图刷新单元格,并使用你想要的视图和按钮的自定义单元格。 这很简单,你的代码看起来不错。 但是要小心在cellForRowAtIndexPath中使用addSubview

0

你的情况,最好的方法是添加方法的cellForRowAtIndexPath里面一个子视图。使用indexPath作为获取可重用单元的源可以导致可重用按钮。

希望它有帮助!

+0

我可以添加函数cellForRowAtIndexPath亚种使用另一个函数没有重复? – 2014-09-02 09:43:57

+0

我不知道我理解你的问题 – 2014-09-02 10:28:29