Ios 如何在Swift 3中设置UIButton的图像?
最初,我的代码是有效的Ios 如何在Swift 3中设置UIButton的图像?,ios,swift,uibutton,uikit,Ios,Swift,Uibutton,Uikit,最初,我的代码是有效的 IBAction func clickedon(_ sender: UIButton) { if(gamestate[sender.tag] == 0 && gameisactive == true){ gamestate[sender.tag] = activeplayer if (activeplayer == 1){ print("working") sender.setImage
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
}
}
iAction func单击打开(\uSender:ui按钮){
如果(游戏状态[sender.tag]==0&&gameisactive==true){
gamestate[sender.tag]=activeplayer
如果(activeplayer==1){
打印(“工作”)
setImage(UIImage(名为:“Cross.png”),对于:UIControlState())在代码中,UIControlState()可以替换为
uicontrol状态。正常
或uicontrol状态。高亮显示
是否强制设置宽度和高度约束?如果不是,则按钮可能会退化,因为它们内部没有图像。您也可以在设置图像时设置边框;我更喜欢自动布局
UIImage(named:"Cross.png")!
sender.setImage(image, for: .normal)
sender.frame.size = image.size
iAction func单击打开(\发送方:ui按钮){
我找到了答案。uicontrol state.normal有效,问题是按钮实际上放在我的板下。这意味着我可以单击它们,但它们不会出现
它解释了为什么打印语句和所有操作都没有错误。谢谢!您可以尝试以下方法:
let image = UIImage(named: "imagename.png")
yourButton.setBackgroundImage(image, for: .normal)
我尝试使用其他setImage调用,但不起作用。我发现此setBackgroundImage用于显示图像。希望它能帮助您
self.button.setImage(UIImage(named: "namebutton"), for: .normal)
当您想更改swift 3上按钮的图像时,您可以尝试我的解决方案,相信我,因为我尝试过并成功了。谢谢谢谢,我尝试过,但似乎不起作用。我将尝试查看参考资料。您的语法看起来正确,而不是Joey指出的。在这一点上,我可能会建议“分手”这些行-如果您单独声明UIImages,问题可能会暴露出来。我知道,事情正在进行,但问题可能在其他地方。此时,我甚至会尝试将按钮类型从系统更改为自定义,或者反之亦然。请发布需求的图像以及您在代码中实现的内容,然后其他人可以帮助您
let image = UIImage(named: "imagename.png")
yourButton.setBackgroundImage(image, for: .normal)
self.button.setImage(UIImage(named: "namebutton"), for: .normal)