如何通过编程方式单击静态单元格中的背景图像?

时间:2017-03-26 17:50:51

标签: swift image highlight tableviewcell

  1. 静态细胞。
  2. 每个单元格上的图像。总共 - 10个图像和10个单元格。
  3. 如何在单元格中更改图像或在单击单击时将其删除?
  4. 代码:

    @IBOutlet weak var menu1: UITableViewCell!
    @IBOutlet weak var menu2: UITableViewCell!
    @IBOutlet weak var menu3: UITableViewCell!
    @IBOutlet weak var menu4: UITableViewCell!
    @IBOutlet weak var menu5: UITableViewCell!
    @IBOutlet weak var menu6: UITableViewCell!
    @IBOutlet weak var menu7: UITableViewCell!
    @IBOutlet weak var menu8: UITableViewCell!
    @IBOutlet weak var menu9: UITableViewCell!
    @IBOutlet weak var menu10: UITableViewCell!
    
    @IBOutlet var image1: UIImageView!
    @IBOutlet var image2: UIImageView!
    @IBOutlet var image3: UIImageView!
    @IBOutlet var image4: UIImageView!
    @IBOutlet var image5: UIImageView!
    @IBOutlet var image6: UIImageView!
    @IBOutlet var image7: UIImageView!
    @IBOutlet var image8: UIImageView!
    @IBOutlet var image9: UIImageView!
    @IBOutlet var image10: UIImageView!
    
        func tableView(tableView: UITableView, didHighlightRowAtIndexPath indexPath: NSIndexPath)
        {
    
    1. 看一下按下哪个单元格...取一个索引
    2. 把这个索引 - > “图像”+ [索引]并将其删除图像[index] .image或更改为其他。 (tableView函数中的“didHighlight”)?

          image1.image = UIImage (named: "menu_button_highlighted")
      }
      
    3. 如何设置回来? ( “didUnhighlight”)

1 个答案:

答案 0 :(得分:1)

使用tableView(_:​did​Select​Row​At:​)委托方法响应单元格选择并更新实现中的图像。使用indexPath参数确定点击了哪个单元格。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    //your logic here to change the background image
}

另外,考虑创建一个图像视图数组,以便使用索引路径轻松寻址和引用。

let imageViews = [image1, image2, image3, image4, image5, image6, image7, image8, image9, image10]

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let imageViewToUpdate = imageViews[indexPath.row] //may need to adjust the array index to fit your table view configuration

    //your logic here to change the background image
}