按钮图像不会改变(Button image will not change)

编程入门 行业动态 更新时间:2024-10-27 18:24:08
按钮图像不会改变(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; } }

更多推荐

本文发布于:2023-07-15 21:51:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1119287.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:按钮   图像   Button   image   change

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!