如何在UITableViewCell中设置UIImageView.image属性

时间:2016-10-13 20:54:20

标签: ios swift

我在尝试在每个单元格上显示一组图像时遇到问题,对于tableview。

我有一个单独的TableViewCell Swift文件,我在链接的单元格上有一个UIImage。插座名为:CellVenueImage

出于某种原因,当我尝试在TableView视图控制器上实现图像时,出现错误消息:Value of type 'TableViewCell' has no member 'CellVenueImage'

以下是发生这种情况的行:

cell.CellVenueImage.image = imagename

使用Swift 3。

以下是TableView的代码:

import UIKit

class VenueTableViewController: UITableViewController {


let VenueImageList = ["1970s.png","1980s.png","1990s.png"]

override func viewDidLoad() {
    super.viewDidLoad()


}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

// MARK: - Table view data source

override func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return VenueImageList.count
}


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! TableViewCell

    let imagename = UIImage(named: VenueImageList[indexPath.row])
    cell.CellVenueImage.image = imagename

    return cell
}

TableViewCell代码:

import UIKit

class VenuesTableViewCell: UITableViewCell {

@IBOutlet weak var CellVenueImage: UIImageView!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

2 个答案:

答案 0 :(得分:0)

错误在于,您没有使用创建的TableViewCell子类,而是使用常规UITableViewCell

let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! TableViewCell

您需要将其转换为UITableViewCell子类。

如果它被称为“VenuesTableViewCell”,例如:class VenuesTableViewCell: UITableViewCell {,则将其转换为VenuesTableViewCell。

let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! VenuesTableViewCell

答案 1 :(得分:0)

let cell = tableView.dequeueReusableCell(withIdentifier: "VenueCell", for: indexPath) as! VenuesTableViewCell