Adi*_*dav 5 uibutton uikit ios swift
最初,我的代码可以工作。
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
}
}
Run Code Online (Sandbox Code Playgroud)
这两段设置图像的代码正在工作。这些按钮的图像没有任何设置。当他们被点击时,我希望他们切换到这些图像。这些图像位于视图控制器的文件夹中。我不知道他们为什么停止工作。我注释掉了所有其他代码以查看它是否可能是一个问题,但似乎不是。在这两种情况下都会打印出打印语句。这只是设定的图像,似乎没有做任何事情。没有错误,它只是什么也没做。
我不太明白 UIControlState() 代码。我正在模仿一个具有相同代码并且有效的在线项目。确实很奇怪。如果您有任何建议,请告诉我!
在您的代码中, UIControlState() 可以替换为
UIControlState.normal或UIControlState.highlighted。
https://developer.apple.com/reference/uikit/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"), for: UIControlState.normal)
sender.setImage(UIImage(named:"Cross_highlighted.png"), for: UIControlState.highlighted)
activeplayer = 2
}
else {
print("working2")
sender.setImage(UIImage(named:"Nought.png"), for: UIControlState.normal)
sender.setImage(UIImage(named:"Nought_highlighted.png"), for: UIControlState.highlighted)
activeplayer = 1
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20450 次 |
| 最近记录: |