按钮图像不会改变(Button image will not change)
我正在练习/快速学习,正在制作一个tic tac toe游戏。 我试图让按钮图像改变,但是单击按钮时没有任何变化。
我是否正确将此操作应用于Click事件处理程序中的发件人? 如果是这样,为什么这不起作用?
谢谢
class ViewController: UIViewController { var playerOneTurn = true; let cross = UIImage(named: "Cross") as UIImage; let naught = UIImage(named: "naught") as UIImage; @IBAction func topLeftBtn(sender: UIButton) { var image = sender.imageForState(UIControlState.Normal); if(image == nil){ if(playerOneTurn == true){ sender.setImage(naught,forState: UIControlState.Highlighted); playerOneTurn = false; }else{ sender.setImage(cross,forState: UIControlState.Highlighted); playerOneTurn = true; } } checkForWinner(); }I am practising / learning swift and am making a tic tac toe game. I have fiddled around trying to get a button image to change however nothing changes when the button is clicked.
Am i correct to be applying this action to the sender in the click event handler? If so, why might this not be working?
Thanks
class ViewController: UIViewController { var playerOneTurn = true; let cross = UIImage(named: "Cross") as UIImage; let naught = UIImage(named: "naught") as UIImage; @IBAction func topLeftBtn(sender: UIButton) { var image = sender.imageForState(UIControlState.Normal); if(image == nil){ if(playerOneTurn == true){ sender.setImage(naught,forState: UIControlState.Highlighted); playerOneTurn = false; }else{ sender.setImage(cross,forState: UIControlState.Highlighted); playerOneTurn = true; } } checkForWinner(); }最满意答案
按下按钮时,您似乎只设置了Highlighted按钮状态图像。 那是你想做的吗? 请尝试以下代码:
if(image == nil){ if(playerOneTurn == true){ sender.setImage(naught,forState: UIControlState.Normal); playerOneTurn = false; }else{ sender.setImage(cross,forState: UIControlState.Normal); playerOneTurn = true; } }It looks like you're setting only the Highlighted button state image when the button is pressed. Is that what you wanted to do? Try the below instead:
if(image == nil){ if(playerOneTurn == true){ sender.setImage(naught,forState: UIControlState.Normal); playerOneTurn = false; }else{ sender.setImage(cross,forState: UIControlState.Normal); playerOneTurn = true; } }更多推荐
发布评论