UIImageView数组没有显示内容?

时间:2015-07-13 05:37:51

标签: ios swift uitableview uiimageview uiimage

我想要显示在屏幕上的UIImageViews数组。但是,我似乎无法这样做。我声明我的数组UIImageViews是这样的:

class EventCell: UITableViewCell, CellDelegate{   
    @IBOutlet var eventName: UILabel!
    @IBOutlet var eventLocation: UILabel!
    @IBOutlet var attendeesImages: [UIImageView]!
}

我有一个显示EventCell内容的函数,如下所示:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    //Dequeue a "reusable" cell
    let cell = tableView.dequeueReusableCellWithIdentifier(eventCellIdentifier) as! EventCell
    setCellContents(cell, indexPath: indexPath)
    return cell
}

//Set contents of Event Cell.. self.events is a global array
//which have information that EventCell objects need to display

func setCellContents(cell:EventCell, indexPath: NSIndexPath!){
    let item = self.events[indexPath.section]
    var count = 0

    cell.eventName.text = item.eventName()
    cell.eventLocation.text = item.eventLocation()

    cell.attendeesImage.removeAll(keepCapacity: false)//Remove old images before adding new
    for value in item.attendeesImage {
        let newImageView = UIImageView(image : value)
        newImageView.clipsToBounds = true
        newImageView.layer.cornerRadius = newImageView.frame.size.width / 2
        cell.attendeesImage.append(newImageView)
        println("Count inside: \(cell.attendeesImage.count)")
    }
}

我打印出count的{​​{1}},以确保没有添加任何无关的图像,这似乎证明是正确的。但是,我不知道为什么我的图像没有显示。我确保在我的cell.attendeesImage中将cell.attendeesImage作为IBCollection挂钩到我的Storyboard中(因为它是一个数组)。为什么没有出现的任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

您使用错误的收集渠道“attendeesImages”。

加载视图后,将使用您在界面构建器中创建的图像视图创建并初始化阵列参与者图像。但是,如果删除所有引用,则会丢失出口和实际视图之间的链接。您正在创建的新图像视图不是单元格中的视图。它们仍然是单元格的子视图,但现在你没有iboutlet引用它们。

解决方案:不要从数组中删除值。只需修改每个图像视图中的图像。