我有一个游戏板(8x8 阵列)。现在我想实现绘图功能,板上的每个单元格都是一个带有单独标签(从 0 到 63)的 UIButton。如何通过按钮(带有单独标签的按钮)也能够使用 setImage() 函数?
我的一段代码:
for i in 0..<8 {
for j in 0..<8{
if gameBoard[i,j].rawValue == 1 {
cellButton.setImage(UIImage(named:"whitePiece.png"), for: UIControlState())
} else if (gameBoard[i,j].rawValue == 2){
cellButton.setImage(UIImage(named:"blackPiece.png"), for: UIControlState())
}
}
}
最佳答案
您发布的代码没有意义。看起来您有一个实例变量 cellButton,并且您正在尝试使用它以某种方式在所有 64 个按钮上设置图像。那是不可能的。如果你的按钮上有标签,你可以使用这样的东西:
假设您将标签号定义为 100 到 188 之间的范围,其中 10 位是行号,1 位是列号:
for i in 0..<8 {
for j in 0..<8{
//Create a tag number for this cell
let tagNumber = 100 + i * 10 + j
guard let aCellButton = view.viewWithTag(tagNumber) as? UIButton else {
print("Error. Can't find button with tag \(tagNumber)")
continue
}
if gameBoard[i,j].rawValue == 1 {
aCellButton.setImage(UIImage(named:"whitePiece.png"), for: .normal)
} else if (gameBoard[i,j].rawValue == 2){
aCellButton.setImage(UIImage(named:"blackPiece.png"), for: .normal)
}
}
}
关于ios - 通过标签区分一个 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45693785/