Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Swift 3中设置UIButton的图像?_Ios_Swift_Uibutton_Uikit - Fatal编程技术网

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)