在先前加载的单元格上方添加了重复的tableview单元格

时间:2016-03-26 18:34:39

标签: ios swift uitableview uicollectionview tableview

我有一个集合视图。在其中一个收集单元格中,我有一个包含5个不同自定义单元格的tableview。我正在重用表格视图的每个单元格。

当表重新加载时,我看到在先前加载的单元格上方添加了新行。这似乎在上一个表格上方添加了一个新表格。当我看到集合视图的3D视图时,我看到了这个视觉效果:

Screenshot

蓝色是5个细胞之一。每次加载表时,它都会在先前加载的单元格上方添加5组行。这里发生了什么,这怎么可能呢?

override func viewDidLoad() {
    super.viewDidLoad()
    self.cabinTableView.registerNib(UINib(nibName:"CabinNetNib", bundle:
        nil), forCellReuseIdentifier: cabinNetNib)
}

internal func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cellDetail = tableViewDataSourceArray[indexPath.row] as? cabinDetailsMO
    let cellType = cellDetails?.cellTypeEnum

    if cellType == CellType.Net {

        let netLabelCell = self.questionsTableView
            .dequeueReusableCellWithIdentifier(questionLabelCellIdentifier) as?
        NetLabelTableViewCell

        netLabelCell!.selectionStyle = UITableViewCellSelectionStyle.None

        netLabelCell!.netLabel.attributedText = cellDetails?.attributedQuestionString

        return netLabelCell!
    }
    else if cellType == CellType.Video {

        let videoCell = self.cabinTableView.dequeueReusableCellWithIdentifier(cabinVideoCellIdentifier)
            as! cabinVideoTableViewCell
        videoCell.videoName = cellDetails?.questionVideo
        videoCell.loadVideoItem(cellDetails?.questionVideo, videoFields: nil)
        videoCell.selectionStyle = UITableViewCellSelectionStyle.None

        shouldReloadAllCells = true
        image_videoCellIndex = indexPath.row

        return videoCell
    }

    else if (cellType == CellType.captian) {
        let captianCell = self.cabinTableView .dequeueReusableCellWithIdentifier(captianCellIdentifier) as!
        CaptianTableViewCell
        captianCell .selectionStyle = UITableViewCellSelectionStyle.None

        captianCell.question_idLabel.text = cellDetails?.contentidName

        return aptianCell
    }
}

第一个细胞是一个笔尖。

0 个答案:

没有答案