通过单击-XCode 6 Swift更改UIButton的图像
我只是想让它成为这样,当我点击一个UIButton,它当前显示的是一个贝壳的图像,这个图像会变成其他的东西,在这个例子中,一枚硬币。 这是我迄今为止所尝试的,但没有取得任何成功。我无法为斯威夫特做任何事情。谢谢通过单击-XCode 6 Swift更改UIButton的图像,xcode,swift,Xcode,Swift,我只是想让它成为这样,当我点击一个UIButton,它当前显示的是一个贝壳的图像,这个图像会变成其他的东西,在这个例子中,一枚硬币。 这是我迄今为止所尝试的,但没有取得任何成功。我无法为斯威夫特做任何事情。谢谢 import UIKit class ViewController: UIViewController { @IBOutlet weak var lblOutput: UILabel! @IBOutlet weak var lblWin: UILabel! @IBOutlet wea
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lblOutput: UILabel!
@IBOutlet weak var lblWin: UILabel!
@IBOutlet weak var lblLost: UILabel!
@IBOutlet weak var lblWinsAmt: UILabel!
@IBOutlet weak var lblLossesAmt: UILabel!
let coin = UIImage(named: "penny_head") as UIImage;
override func viewDidLoad() {
super.viewDidLoad()
//imgShell1.hidden = true //doesnt work
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btnStart(sender: UIButton) {
}
@IBAction func btnShell1(sender: UIButton) {
sender.setImage(coin,forState: UIControlState.Highlighted);
}
要在点击时永久更改按钮图像,您必须使用.Normal enum大小写,而不是.not.Highlighted作为控件状态:
sender.setImage(coin,forState: UIControlState.Normal)
将图像设置为.Highlighted(突出显示)状态会使新图像仅在按钮处于该状态时(即点击按钮时)显示。要永久更改点击时的按钮图像,您必须使用.Normal enum(正常枚举)大小写,而不是.Highlighted(突出显示)控件状态:
sender.setImage(coin,forState: UIControlState.Normal)
将图像设置为.Highlighted(突出显示)状态会使新图像仅在按钮处于该状态时出现,即在点击按钮时出现。设置控件的方式不正确。假设您有一个名为btnShell的按钮属性,并且它是您要设置的按钮,请将viewDidLoad方法更改为:
override func viewDidLoad()
{
super.viewDidLoad()
btnShell.setImage(imgShell1, forState:.Normal);
btnShell.setImage(coin, forState:.Highlighted);
}
然后从操作方法中删除setImage:forState:调用:
@IBAction func btnShell1(sender: UIButton) {
sender.setImage(coin,forState: UIControlState.Highlighted);
}
您设置控件的方式不正确。假设您有一个名为btnShell的按钮属性,并且它是您要设置的按钮,请将viewDidLoad方法更改为:
override func viewDidLoad()
{
super.viewDidLoad()
btnShell.setImage(imgShell1, forState:.Normal);
btnShell.setImage(coin, forState:.Highlighted);
}
然后从操作方法中删除setImage:forState:调用:
@IBAction func btnShell1(sender: UIButton) {
sender.setImage(coin,forState: UIControlState.Highlighted);
}
如果您希望永久更改UIButton的背景图像,则必须使用Antonio的方法:
sender.setImage(coin,forState: UIControlState.Normal)
点击按钮时,这不会更改UIKit的默认高亮显示。如果您不希望按钮在触摸时高亮显示,或者在不同的状态下具有不同的外观,那么最好使用UIImageView
在viewDidLoad中:
更改图像的功能:
func changeImage(recognizer: UITapGestureRecognizer){
self.imgView?.image = imgTwo
}
如果您希望永久更改UIButton的背景图像,则必须使用Antonio的方法:
sender.setImage(coin,forState: UIControlState.Normal)
点击按钮时,这不会更改UIKit的默认高亮显示。如果您不希望按钮在触摸时高亮显示,或者在不同的状态下具有不同的外观,那么最好使用UIImageView
在viewDidLoad中:
更改图像的功能:
func changeImage(recognizer: UITapGestureRecognizer){
self.imgView?.image = imgTwo
}
您也可以使用isSelected
您也可以使用isSelected
您想在按下按钮时更改图像,只要它保持在该状态,或者您想在不再按下按钮时用新图像替换图像?这是我看到您发布的第二个关于UIButton是如何工作的误解的问题。通过阅读UIControl和UIButton文档,您可以极大地帮助自己。谢谢!你所有的建议对我来说都很有帮助。你想在按下按钮时改变图像,只要它保持在那种状态,或者你想用一个新的图像替换图像,即使不再按下按钮?这是我看到你发布的第二个问题,关于UIButton是如何工作的误解。通过阅读UIControl和UIButton文档,您可以极大地帮助自己。谢谢!你所有的建议都非常有助于我找到需要的地方。