2014-09-02 189 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