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
how to change uiimage's image on button click in swift?
提问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:
这是我的用户界面:
回答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";