ios 如何快速更改按钮单击时 uiimage 的图像?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26191228/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 03:00:45  来源:igfitidea点击:

how to change uiimage's image on button click in swift?

iosswiftuiimage

提问by Timur Aykut YILDIRIM

I'm trying change an uiimage control's containing image by clicking a button in swift. For this, i wrote a simple a "guess how many fingers i'm holding up" app. I've read some stackoverflow articles but couldn't solve the problem. Below you can see my code and my ui. How can i change change image on click?

我正在尝试通过快速单击按钮来更改 uiimage 控件的包含图像。为此,我编写了一个简单的“猜猜我举起多少根手指”的应用程序。我已经阅读了一些 stackoverflow 文章,但无法解决问题。下面你可以看到我的代码和我的用户界面。如何在单击时更改更改图像?

Here's my code:

这是我的代码:

import UIKit

class ViewController: UIViewController {

    @IBOutlet var myImageView: UIImageView!
    @IBOutlet var inputField: UITextField!
    @IBAction func clickedGuessButtonAction(sender: AnyObject) {
        println("Guess button clicked")
        var randomX = Int(arc4random()%6)
        println("randomX = \(randomX)")
        var guess = inputField.text.toInt();

        let image0 = UIImage(named: "images/qm.jpg")
        let image1 = UIImage(named: "images/tick.jpg")
        let image2 = UIImage(named: "images/cross.jpg")

        if((inputField.text) != nil){
            if(guess == randomX){
                println("correct")
                myImageView.image=UIImage(named: "tick.jpg") // THIS IS NOT WORKING
                myImageView.image=image1                     // THIS IS NOT WORKING TOO
                inputField.resignFirstResponder();// hides keyboard
            }
            else
            {
                println("wrong")
                myImageView.image=UIImage(named: "cross.jpg")
                inputField.resignFirstResponder();//hides keyboard
            }
        }
        else{
            println("invalid input. requires integer only")
            inputField.resignFirstResponder();// hides keyboard
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

And here's my UI:

这是我的用户界面:

enter image description here

在此处输入图片说明

回答by Isuru

You don't need to specify either the asset catalog's name or the image file's extension. Try removing those. For example,

您不需要指定资产目录的名称或图像文件的扩展名。尝试删除那些。例如,

myImageView.image = UIImage(named: "tick")

回答by papaya Person

It may depend on the version of Xcode you are using. For me the following worked:

这可能取决于您使用的 Xcode 版本。对我来说,以下工作有效:

ImageView.image = UIImage(named: "Elephants.jpg")

回答by Alvaro

In Swift:

在斯威夫特:

myImageView = "nameOfImage";