如何在tableviewCell中使用单击操作更改2个UIButton图像

时间:2016-09-05 14:07:54

标签: ios swift uibutton

我在buttons工作了2 tableview cell我在sender采取了行动,但我需要在每次点击时更改按钮图片,例如:

载入时:

button1image = user.png
button2image = empty.png

如果用户点击button 1

button1image = empty.png
button2image = user.png

如果用户点击button 2

button1image = user.png
button2image = empty.png

在我的tableviewcell

  cell.button1.addTarget(self, action: #selector(ViewController.clickbutton1(_:)), forControlEvents: UIControlEvents.TouchUpInside)

  cell.button2.addTarget(self, action: #selector(ViewController.clickbutton2(_:)), forControlEvents: UIControlEvents.TouchUpInside)

ViewController

func clickbutton1(sender:UIButton) {

        let buttonRow = sender.tag
}

  func clickbutton2(sender:UIButton) {


        let buttonRow = sender.tag

}

此外,我可以更改buttons内部图像:

  sender.setImage(UIImage(named:"empty.png"), forState:UIControlState.Normal)

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以尝试这样做,创建包含图像名称的2个字符串实例,并像cellForRowAtIndexPath一样使用它。

var button1image = "user.png"
var button2image = "empty.png"

现在在cellForRowAtIndexPath

cell.button1.setImage(UIImage(named: button1image), forState: .Normal)
cell.button2.setImage(UIImage(named: button2image), forState: .Normal)

现在只需更改按钮操作中变量的值,然后重新加载tableView。

func clickbutton1(sender:UIButton) {

    let buttonRow = sender.tag
    button1image = "empty.png"
    button2image = "user.png"
    self.tableView.reloadData()
}

func clickbutton2(sender:UIButton) {

    let buttonRow = sender.tag
    button1image = user.png
    button2image = empty.png
    self.tableView.reloadData()
}

答案 1 :(得分:1)

创建自定义UITableViewCell,然后您就可以执行任何操作: https://stackoverflow.com/questions/33004189/swift-custom-cell-creating-your-own-cell-with-labelŠ