每次用户点击它时,按钮的chnage图像

时间:2015-08-11 16:47:14

标签: ios swift uibutton uiimage

我在tableview单元格中有一个按钮。我希望最初按钮有一个图像" A"当用户点击它时,它会变为" B"当用户再次点击它时它会变回&# 34; A"

让这两个图像成为" A"和" B"在这种情况下

4 个答案:

答案 0 :(得分:1)

按钮的位置是:

button.addTarget(self, action: "pressed:", forControlEvents: .TouchUpInside)
button.setImage(UIImage(named: "a.png")!, forState: .Normal)
button.tag = 999

func pressed(sender: UIButton!) {
     if sender.tag == 999 {
          sender.setImage(UIImage(named: "b.png")!, forState: .Normal)
          sender.tag = 0
     } else {
          sender.setImage(UIImage(named: "a.png")!, forState: .Normal)
          sender.tag = 999
     }
}

答案 1 :(得分:0)

您可以在按钮上添加标签。

// This code comes in viewDidLoad
button.tag = 1  // for A
button.titleLabel.text = "A"

//点击按钮,检查标签并更改名称

if button.tag == 1
{
   button.tag = 2
   button.titleLabel.text = "B"
}

答案 2 :(得分:0)

子类UIButton,在此类中添加单击处理程序并在Interface Builder中进行引用。然后,在类中创建boolean属性,每次都会在click处理程序中触发。在didSet中,此属性设置了正确的图像

答案 3 :(得分:0)

如果我们只处理两个状态,那么这个解决方案更容易,更简洁。您可以简单地使用UIButton状态。

您可以在故事板本身中为默认状态和选定状态指定不同的图像。

func pressed(sender:UIButton){
    sender.selected = !sender.selected
}

这只会改变状态,图像将根据状态显示。