Swift:在CellForRowAtIndexPath中设置新的UIImage不会显示

时间:2015-11-19 19:34:04

标签: ios swift uitableview

这是我的问题:我正在使用Swift中的iOS应用程序。我有一个代表会议的桌面视图。我创建了一个自定义单元格。该单元格包含图像。故事板中设置了默认值。

现在,根据当前的行数据,我希望在会议过期或新会议时进行可视化。

MyFunction

但它只是不会改变图像。也许这是一个愚蠢的,但实际上它让我疯了; - )

非常感谢提前 干杯 约翰

2 个答案:

答案 0 :(得分:1)

就我所见,您的代码没有任何特定的错误,但这里有一些尝试

设置断点并确保UIImage构造函数返回图像而不仅仅是nil。

如果它没有:

  • 检查图像是否已正确添加到项目中,并按照您的预期命名。

  • 检查图像是否将目标设置为项目目标。有时图像会被错误地添加,并且实际上并不是实际运行应用程序时构建的图像的一部分。将它们添加到Images.xcassets而不是仅仅松散地添加到项目中可能会以一种简单的方式解决这个问题。

如果它不是零:

  • 检查您的imageView是否具有正确的框架集。您可以在应用运行时在Debug View Hierarchy功能中查看它。尝试将约束设置为固定大小作为测试可能有助于您找到与此相关的任何问题。

另一方面,你真的不应该这样做

cell.setNeedsLayout()
cell.setNeedsDisplay()

答案 1 :(得分:1)

我会用这些步骤调试它:

  1. 当您为其分配meetingIconImageView时,检查您的图像是否为空。

  2. 检查UITableViewCell内置的UIImageView中可见的图像(cell.imageView.image = UIImage ...)。

  3. 检查是meetIconImageView在视图中实际可见 - 设置红色背景。也许约束搞砸了。

  4. 检查你的自定义单元格中是否有错误 - 可能是插座连接错误,或者你在init方法中做了一些疯狂的事情。

  5. 如果还是错的话,请在明天早上喝啤酒并检查; - )