我在tableview单元格中有一个按钮。我希望最初按钮有一个图像" A"当用户点击它时,它会变为" B"当用户再次点击它时它会变回&# 34; A"
让这两个图像成为" A"和" B"在这种情况下
答案 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
}
这只会改变状态,图像将根据状态显示。