我正在尝试使用其他按钮更改按钮图像。想法是这个按钮将按钮重置为原始状态,以允许用户再次播放。
@IBAction func playAgainButton(_ sender: Any) {
grid = ["0", "3", "4", "5", "6", "7", "8", "9", "a"]
let btnCheckMarkImage = UIImage(cgImage: "Image-1" as! CGImage)
gridSpace0.setImage(btnCheckMarkImage, forState: UIControlState.Normal)
gameResultLabel.isHidden = true
//let image = UIImage(named: "blankSpace")
}
@IBAction func gridSpace0(_ sender: Any) {
let button = sender as! UIButton
checkIfFree(gridSpace: 0, sender: button)
}
func checkIfFree(gridSpace: Int, sender: UIButton) {
if(player % 2 != 0)
{
player = playerone
currentPlayerName = playerOneName
}
else
{
player = playertwo
currentPlayerName = playerTwoName
}
if(grid[gridSpace] != "1" && grid[gridSpace] != "2")
{
if(player == playerone)
{
let image = UIImage(named: "TicTacToeX")
grid[gridSpace] = String(player)
sender.setBackgroundImage(image, for: UIControlState.normal)
player = player + 1;
}
else
{
let image = UIImage(named: "TicTacToeO")
grid[gridSpace] = String(player)
sender.setBackgroundImage(image, for: UIControlState.normal)
player = player + 1;
}
因此,每次用户按下按钮时,都会检查空间是否空闲,如果是,则更改按钮的图像。
就像我说的,我想再次播放按钮来更改gridSpace0按钮的图像但是当我使用上面的代码时出现此错误:
我需要使用按钮的发件人部分来识别正在按下哪个按钮,那么我该如何更改它的背景?
由于