2017-02-09 7 views
0

私は現在、選択すると赤から緑に変わるUIButtonを持っています。どのように逆を実装することができるので、再び選択すると元の状態に戻りますか?以下は私の現在のコードです:タッチ時にボタンの色を変更してからもう一度戻る

@IBAction func button1press(_ sender: AnyObject) { 
    (sender as! UIButton).backgroundColor = UIColor.green 
    } 
+1

「送信者」が「AnyObject」の代わりに「UIButton」であると宣言すれば、あなたの質問は無関係です。 – rmaddy

+0

@rmaddyが正しいです。そして、そうするならば、UIButton状態が可能なもの(選択を含む)にあなたの行動を結びつけることができます。 – dfd

+0

[ボタンが押されてキャンセルされたときを知る方法ボタンが押されているかどうか](http://stackoverflow.com/questions/41947279/how-to-know-when-the-button-is-pressed-and-canceledボタンを押す)。これはあなたに必要なすべてを与えるはずです。そうでない場合は、質問を編集してください。 – dfd

答えて

1

ボタンをタップすると選択された状態、すなわち更新:ボタンを述べるあなたが知っているこの方法では、である を。

テキストの色、フォント、画像などの他のプロパティを編集したい場合は、ストーリーボードの「State Config」オプションを使用して、さまざまな状態(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 
     } 
    } 
} 
+0

ありがとうございます - これは素晴らしい仕事でした! –

0

プレスごとに、現在の背景色を確認し、それを他のものに変更します。

@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 
     } 
    } 
} 
関連する問題