UITableView自定义单元格在滚动时消失并随机出现

时间:2015-10-17 08:01:00

标签: ios iphone swift uitableview

晚安

我有一个带有自定义单元格的UITableView,它表现得很奇怪,我找不到解决方案。所以我的表指向控制器并将其用作dataSource。这是检索单元格的代码

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let tempCell = tableView.dequeueReusableCellWithIdentifier(armPointCellIdentifier, forIndexPath: indexPath) as! AircraftTableCell

    tempCell.hidden = false
    tempCell.UILabel_aircraftName.text = "CELL #\(indexPath.row) : \(tempCell)"

    print("\(indexPath.row): \(tempCell)")

    return tempCell;

}

当我滚动时,细胞出现并消失。我从来没有在打印输出中获得nils。这是在向上和向下滚动之前:

Before Scrolling

此后是

After Scrolling

我尝试使用谷歌搜索,但没有任何帮助...

更新1

所以我尝试调试时建议项目获得0高度,或者在其他项目下移动。但实际上我对一些细胞有空洞的看法。这是示例调试输出。您可以看到一个单元格有开关和标签,另一个单元格没有。我希望有人知道该怎么做:((

enter image description here

2 个答案:

答案 0 :(得分:1)

将其更改为

let tempCell = tableView.dequeueReusableCellWithIdentifier(armPointCellIdentifier) as! AircraftTableCell

希望它有效!另一种解决方案是在为单元格输入提供输入之前,将默认值设置为单元格标签。

答案 1 :(得分:1)

如果有人偶然发现了这个问题。如果你的ViewController(包含TableView)是一个UITabBarController并且你遇到了这个问题,那就有一个临时解决办法:在ViewController中嵌入你的ViewController。仅当ViewController嵌入TabBarController时才会出现此问题。就像这张照片一样。

enter image description here