我试图在放置在UITableViewCell内的KDCircularProgress内设置图像。
当我从StoryBoard添加图像时,它会成功显示,但是当我尝试以编程方式添加图像时,该图像不会出现。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cellToReturn: DashBoardCell! = tableView .dequeueReusableCellWithIdentifier("DashBoardCell") as? DashBoardCell
if (cellToReturn == nil) {
cellToReturn = DashBoardCell(style: UITableViewCellStyle.Default, reuseIdentifier:"DashBoardCell")
}
let image: UIImage = UIImage(named: "ImageName")!
dImage = UIImageView(image: image)
dImage!.frame = CGRectMake(0,0,30,25)
dImage?.contentMode = UIViewContentMode.ScaleToFill
cellToReturn.dynamicImageView = dImage
dynamicImageView是UITableViewCell类中的UIImageView出口,我正在尝试在其中实现TableView委托方法的View Controller类中的表视图单元中设置动态图像。
我究竟做错了什么?
最佳答案
我不确定DashBoardCell
是什么样,所以这可能是错误的,但是dImage
似乎从未添加到视图层次结构中。如果DashBoardCell
已经在情节提要中创建了dynamicImageView
,并且我不知道为什么不这样做,那么您就不必担心创建UIImageView
了,只需将图像设置为
cellToReturn.dynamicImageView.image = UIImage(named: "ImageName")
如果还没有,那么您需要添加类似
cellToReturn.contentView.addSubview(dImage)
或者,如果
DashBoardCell
的dynamicImageView
具有didSet
观察者,则可以在此处插入新视图。您还需要确保覆盖prepareForReuse
中的DashBoardCell
以删除dynamicImageView
,因为您将在cellForRowAtIndexPath
中创建一个新的。