在CustomTableViewCells上设置复选框

时间:2017-02-17 16:55:13

标签: ios swift

我在CustomTableViewCells上设置了一个UIButton。

我想在选中时切换UIButton的图像,但是在我再次选择后默认图像不会改变。

enter image description here     class CustomCell:UITableViewCell {

@IBOutlet weak var myButton: UIButton!

override func awakeFromNib() {
    super.awakeFromNib()
    self.setup()
}

private func setup() {
    self.myButton.setImage(UIImage(named: "checked"), for:.normal)
    self.myButton.setImage(UIImage(named: "unchecked"), for:.highlighted)

}

1 个答案:

答案 0 :(得分:0)

您可以使用属性highlight,并且可以在didSelectItemAtIndexPath

中调用TableView时更改此属性

例如:

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

    print("This is your Answer... \(indexPath.row)")

    let newSelectedView = tableView.cellForItemAtIndexPath(indexPath) as! ChoiceCell

    //important
    newSelectedView.highlight.hidden = false

    if self.selectedIndex != -1 && self.selectedIndex != indexPath.row {
        let indexPathSelected = NSIndexPath(forRow: self.selectedIndex, inSection: 0)
        let prevSelected = tableView.cellForItemAtIndexPath(indexPathSelected) as! ChoiceCell

        //important
        prevSelected.highlight.hidden = true
    }

    self.selectedIndex = indexPath.row

}