2017-03-24 22 views
-2

カラーセレクタがポップオーバーしています...ボタンが押されたことをユーザに知らせるために、ボタンを押したときにどうすればcheckを表示できますか?ボタンが押されているかどうかを確認する方法は?

これは、私はこれらは私が隠してたときを示す目盛りをしたい...私はそれ以上のUIImageViewを追加してい、優先順位の色を選択し、ボタンのようなものです

class popUpViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.showAnimate() 
    ASAP.tag=1 
    Soon.tag=2 
    Later.tag=3 
    Ages.tag=4 
    self.check.alpha=0 

} 


@IBOutlet weak var check: UIImageView! 
@IBOutlet weak var Ages: UIButton! 
@IBOutlet weak var Later: UIButton! 
@IBOutlet weak var ASAP: UIButton! 
@IBOutlet weak var Soon: UIButton! 

@IBOutlet weak var mainView: UIView! 
override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

} 


func buttonClicker(sender: UIButton){ 
    switch sender.tag { 
    case 1: 
     self.check.alpha=1 
    default: 
     break 
    } 
} 

を使用しているコードですユーザーはボタンをタップし、ティックは1つのボックスにしか表示されません。

答えて

2

私は個人的には、あなたが問題に近づいている方法が好きではないと言うことができます。

あなたの提案したソリューションは、動作しますが(下記参照)、UIButtonの上UIImageはその代わり、私が表示されるでしょう、完全にカスタマイズされたボタンを作成するために、そのdraw(_ rect: CGRect)関数をオーバーライドUIButtonをサブクラス化したい...非常にエレガントではありませんユーザーがそれをタップすると「チェック」マークが非表示になります。
PaintCodeはそれを助けることができます。私は非常にそれをお勧めします。その答えに今

...


あなたはとても似UIImageViewisHiddenプロパティを使用することができます(そう、Interface BuilderでisHiddenプロパティをチェックする

// Connect the image. 
@IBOutlet weak var checkImage: UIImageView! 

// When users tap the button... 
@IBAction func buttonTapped(_ sender: Any) { 

    // ... unhide/show the image. 
    checkImage.isHidden = !checkImage.isHidden 
} 

覚えておいてくださいUIImageは非表示になります)

また、ストーリーボードの制約を調整する必要もありますUIImageViewがあります

  • 合わせ末尾へ:ボタン
  • 中央揃えYへ:ボタン(縦中央)このよう
  • 高さ/幅制約

constraints

最後の結果(そのヘッダーを無視します。私は)働いているアプリ:

result

利益。

(サイドノートでは、スウィフトにあなたがブロック/クロージャの self外を使用する必要はありません
であることを、あなたは self.check.alphaする必要はありません - 。。ちょうど check.alphaが行います)

+0

私は私の質問を編集しました。.. –

+1

私はそれに応じて私の答えを更新しました。 –

0

アルファ値を設定する代わりに、ビューのisHiddenプロパティを使用して非表示にして表示します。

クラスpopUpViewController:のUIViewController {

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.showAnimate() 
    ASAP.tag=1 
    Soon.tag=2 
    Later.tag=3 
    Ages.tag=4 
    self.check.isHidden = true 

} 


@IBOutlet weak var check: UIImageView! 
@IBOutlet weak var Ages: UIButton! 
@IBOutlet weak var Later: UIButton! 
@IBOutlet weak var ASAP: UIButton! 
@IBOutlet weak var Soon: UIButton! 

@IBOutlet weak var mainView: UIView! 
override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

} 


func buttonClicker(sender: UIButton){ 
    switch sender.tag { 
    case 1: 
     self.check.isHidden = false 
    default: 
     break 
    } 
} 
+0

私の質問を編集しました。 –

関連する問題