选择行时,在Xcode Swift中更改图像

时间:2016-05-13 18:34:01

标签: iphone swift2

我在Xcode中的第一个手机应用程序(7.3和Swift 2)。花了几周时间尝试在选择行时更改图像。

myImageView是一个带有imageView插座的自定义单元类(swift文件):

import UIKit

class myTableViewCell: UITableViewCell {

    @IBOutlet weak var myCellLabel: UILabel!

    @IBOutlet weak var myImageView: UIImageView!

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

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

当选择一行时,我想替换图像,但无法引用cell.myImageView.image {indexPath.row] = UIImage(名称:“SquareGreen.png”)

这没关系

let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! myTableViewCell
cell.myImageView.image = UIImage(named: "Square.png")

这不起作用

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)  {

     myTableViewCell.myImageView.image[indexPath.row] = "SquareGreen.png"

     cell.myImageView.image[indexPath.row] = UIImage(named: "SquareGreen.png")

     // error               “use of unresolved identifier cell”
}

任何想法?

1 个答案:

答案 0 :(得分:0)

这一行错了:

myTableViewCell.myImageView.image[indexPath.row] = "SquareGreen.png"

更改为:

let cell = tableView.cellForRowAtIndexPath(indexPath) as myTableViewCell
cell.myImageView.image = "SquareGreen.png"

第一个问题是Phillip Mills在评论中指出的 - 你没有细胞变量,你需要创建一个。第二个问题是,要将新图像分配给myImageView属性,您需要指定上面显示的代码(image不是数组或字典)。