如何在每次按下按鈕時將UIButton更改圖像從A更改爲B並將B再更改爲A?如何在每次按下時更改UIButton的圖像
不是.normal
到.highlighted
,但永久。 我已經試過.highlighted
方法,因爲我無法找到永久的代碼,這裏是我的代碼:
func ChangeButton() {
Button.setImage(A, for: .normal)
Button.setImage(B, for: .highlighted)
如何在每次按下按鈕時將UIButton更改圖像從A更改爲B並將B再更改爲A?如何在每次按下時更改UIButton的圖像
不是.normal
到.highlighted
,但永久。 我已經試過.highlighted
方法,因爲我無法找到永久的代碼,這裏是我的代碼:
func ChangeButton() {
Button.setImage(A, for: .normal)
Button.setImage(B, for: .highlighted)
感謝您從對方的回答中提到setBackgroundImage
澤維爾L.。 試試下面的代碼:
import UIKit
class ViewController: UIViewController {
@IBOutlet var button: UIButton!
var buttonActive = false
override func viewDidLoad() {
super.viewDidLoad()
button.setBackgroundImage(UIImage(named: "apple"), for: .normal)
}
@IBAction func buttonPressed() {
if buttonActive {
button.setBackgroundImage(UIImage(named: "apple"), for: .normal)
} else {
button.setBackgroundImage(UIImage(named: "pineapple"), for: .normal)
}
buttonActive = !buttonActive
}
}
注:在堆棧溢出時,您應該在詢問之前執行一些操作。嘗試包括你嘗試過的一些代碼。
它的工作,感謝一百萬 – Shahin
我建議更改backgroundImage,因爲它會自動縮放,並且前面的按鈕文本不會被覆蓋。
如果它是一個自定義按鈕,它的初始化中:
self.addTarget(self, action: #selector(*yourfunctoswitchimages*), for: .touchUpInside)
...然後是yourfunctoswitchimages可以只檢查當前的背景圖像是什麼,並相應地打開它。
如果它不是自定義按鈕,請在viewDidLoad中添加一個目標。這裏有很多示例代碼。
在您的viewDidLoad()
yourButt.addTarget(self, action: #selector(switcheroo), for: .touchUpInside)
另一個FUNC在您的視圖控制器:
func switcheroo()
{
if yourButt.currentBackgroundImage == image1
{
yourButt.setBackgroundImage(image2), for: .normal)
}
else { // ...set image to image1 }
}
yourButt是當然的視圖控制器的特性,這樣,它是在viewDidLoad中訪問( )以及其中的其他funcs。
你到目前爲止嘗試過什麼? – mat
我試過.highlighted方法,因爲我找不到永久代碼,下面是我的代碼: func ChangeButton(){ Button.setImage(A,for:.normal) Button.setImage(B,for :.highlighted) – Shahin
請參閱:https://stackoverflow.com/questions/44938919/how-do-i-change-an-image-if-i-click-on-a-button-in-swift/44939698# 44939698 –