我目前有一個UIButton,在選擇時從紅色變爲綠色。我怎樣才能實現相反的功能,以便在再次選擇時回到原始狀態?下面是我當前的代碼:改變觸摸按鈕的顏色...然後再回來
@IBAction func button1press(_ sender: AnyObject) {
(sender as! UIButton).backgroundColor = UIColor.green
}
我目前有一個UIButton,在選擇時從紅色變爲綠色。我怎樣才能實現相反的功能,以便在再次選擇時回到原始狀態?下面是我當前的代碼:改變觸摸按鈕的顏色...然後再回來
@IBAction func button1press(_ sender: AnyObject) {
(sender as! UIButton).backgroundColor = UIColor.green
}
當輕點按鈕更新所選狀態,即: 這樣,你知道哪些狀態下的按鈕是。
如果您希望編輯其他屬性,如文本顏色,字體,圖像等......您可以使用故事板「狀態配置」選項,並針對不同狀態製作不同的主題(在IB的範圍內)
@IBAction func button1press(_ sender: AnyObject) {
if let button : UIButton = sender as? UIButton
{
button.isSelected = !button.isSelected
if (button.isSelected)
{
button.backgroundColor = UIColor.green
}
else
{
button.backgroundColor = UIColor.red
}
}
}
非常感謝 - 這很好! –
在每次按下時,檢查當前背景顏色,並將其更改爲另一個。
@IBAction func button1press(_ sender: UIButton) {
if let button = sender as? UIButton {
if button.backgroundColor == UIColor.green {
button.backgroundColor = UIColor.red
}
else if button.backgroundColor == UIColor.red {
button.backgroundColor = UIColor.green
}
}
}
與您的問題無關,但如果您將'sender'聲明爲'UIButton'而不是'AnyObject',則代碼將更容易。 – rmaddy
@rmaddy是正確的。如果你這樣做,你可以將你的行爲綁定到任何UIButton狀態 - 包括選定的狀態。 – dfd
[如何知道何時按下按鈕並取消按鈕按下]可能的重複(http://stackoverflow.com/questions/41947279/how-to-know-when-the-button-is-pressed-and-canceled - 按鈕按壓)。這應該會給你所有你需要的。如果沒有,編輯你的問題,我相信我們可以回答。 – dfd