我试图在放置在UITableViewCell内的KDCircularProgress内设置图像。

ios - 未在KDCircularProgress中以编程方式设置图片-LMLPHP

当我从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)

或者,如果DashBoardCelldynamicImageView具有didSet观察者,则可以在此处插入新视图。您还需要确保覆盖prepareForReuse中的DashBoardCell以删除dynamicImageView,因为您将在cellForRowAtIndexPath中创建一个新的。

08-15 20:51