2017-01-16 7 views
0

私はUIButtonの2つの画像を持っています。ノートの状態では、それは鉛筆です。私がそれを選択すると、それは紙です。しかし、私がをタッチダウン私はまだそれを選択していない場合でも鉛筆を示しています。どうすればこれを防ぐことができますか?タッチダウンしたときに、選択したUIButtonが通常の画像に変わるのを防ぐにはどうすればいいですか?

@IBOutlet weak var btn: UIButton! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    btn.setImage(#imageLiteral(resourceName: "Pencil").withRenderingMode(.alwaysTemplate), for: .normal) 
    btn.setImage(#imageLiteral(resourceName: "Paper").withRenderingMode(.alwaysTemplate), for: .selected) 
    btn.tintColor = .cyan 

    btn.addTarget(self, action: #selector(touchedButton), for: .touchUpInside) 

} 

func touchedButton() { 
    if !btn.isSelected { 
     btn.isSelected = true 

    } else { 
     btn.isSelected = false 
     } 



} 
+0

あなたがあなたの 'IBAction'をドラッグしているイベントは何ですか?それは 'touchUpInside'ですか? – Rikh

+0

Ohh ..わかりません。私はストーリーボードに慣れていないので、私は自分のコードにボタンをドラッグしました。おそらくデフォルトのドラッグターゲットメソッドがあるでしょうか? –

+0

デフォルトでは、ストーリーボードからswiftで+ドラッグをコントロールすると、 'IBOutlet'に設定されます。もう一度やって、ポップアップの内側にあることを確認してください。それは 'IBAction'と** IBOutlet'ではなく、' touchUpInside'です。 – Rikh

答えて

0

uはまた、強調表示状態のための画像を設定し、例えばUIButtonの強調表示サテを使用することができ、

btn.setImage(#imageLiteral(resourceName: 
      "Paper").withRenderingMode(.alwaysTemplate), for: .highlighted) 
+0

動作していないようです。鉛筆を示すボタンを押すと、強調表示された用紙が表示されます。問題は、それが選択されて(紙を表示している)、押し下げ始めるときに、鉛筆が引きずられるまで表示されます。 –

関連する問題