除非滚动

时间:2015-05-28 15:35:55

标签: ios uitableview swift

UITableView正在显示单元格,它们按照应有的方式加载。然而,在方面适合的情况下,单元格内部存在图像视图。它们显示完整大小,直到您滚动,然后向上滚动然后显示正确。

这是我正在谈论的两个图像。我也尝试在ViewDidLoad上重新加载数据。

加载时: http://www.screencast.com/t/oj4xdQtyv

滚动时,向上滚动: http://www.screencast.com/t/0uHn5Wms53

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

    imageIndex = indexPath.row

    var cell : CustomCell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell

    cell.imgview.backgroundColor = UIColor(red: 27, green: 27, blue: 27, alpha: 1.0)

    cell.imgview.layer.borderColor = UIColor.redColor().CGColor
    cell.imgview.layer.borderWidth = 2
    cell.imgview.image = UIImage(named: images[imageIndex]) /*Image provided*/
    cell.imgview.contentMode = UIViewContentMode.ScaleAspectFit
    cell.imgview.userInteractionEnabled = true
    cell.imgview.tag = imageIndex

    return cell
}

1 个答案:

答案 0 :(得分:0)

除非你发布一些代码,否则我无法告诉你确切的问题。但我可以建议一个可以解决问题的黑客攻击。

在viewWillAppear方法的末尾尝试在表视图上调用函数reloadData()。此函数只是重新加载数据视图的所有单元格。这将解决您的问题。

关于为什么表单元格在滚动后正确显示的一个可能的解释是,一旦将单元格滚出视图,单元格基本上被回收,因此重新加载新数据。所以它重置了细胞,它看起来正确。这就是调用reloadData方法将解决您的问题的原因。

发布一些代码片段,我会尝试在没有黑客的情况下解决问题。另外,检查故事板中的表格视图单元格的设置可能是因为这些设置正在发生。