最初,我的代码可以正常工作。
IBAction func clickedon(_ sender: UIButton) {
if(gamestate[sender.tag] == 0 && gameisactive == true){
gamestate[sender.tag] = activeplayer
if (activeplayer == 1){
print("working")
sender.setImage(UIImage(named:"Cross.png"), for: UIControlState()) <-----------
activeplayer = 2
}
else {
print("working2")
sender.setImage(UIImage(named:"Nought.png"), for: UIControlState()) <-----------
activeplayer = 1
}
}
这两段设置图像的代码是有效的。这些按钮的图像没有任何设置。单击它们时,我希望它们切换到那些图像。这些图像位于带有 View Controller 的文件夹中。我不确定他们为什么停止工作。我注释掉了所有其他代码,看看它是否是一个问题,但它似乎不是。在这两种情况下打印语句都会被打印出来。就是套图而已,好像没什么作用。没有错误,只是什么都不做。
我不太理解 UIControlState() 代码。我正在模仿一个具有相同代码并且可以运行的在线项目。真是奇怪。如果您有任何建议,请告诉我!
最佳答案
IBAction func clickedon(_ sender: UIButton) {
if(gamestate[sender.tag] == 0 && gameisactive == true){
gamestate[sender.tag] = activeplayer
if (activeplayer == 1){
print("working")
sender.setImage(UIImage(named: "Cross.png")!, forState: UIControlState.Normal)
sender.setImage(UIImage(named:"CrossSelected.png")!, forState: UIControlState.Selected)
activeplayer = 2
}
else {
print("working2")
sender.setImage(UIImage(named: "Nought.png")!, forState: UIControlState.Normal)
sender.setImage(UIImage(named:"NoughtSelected.png")!, forState: UIControlState.Selected)
activeplayer = 1
}
}
关于ios - 如何在 Swift 3 中设置 UIButton 的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40296772/