2016-08-21 11 views
0

カスタムボタンのセットの画像を設定することはできません:enter image description here は、私はこのようなチェックボックスを実装するつもりです

class CheckBox: UIButton { 
let checkedImage = UIImage(named: "checked") 
let uncheckedImage = UIImage(named: "unchecked") 
var checked : Bool = false{ 
    didSet{ 
     if checked == false{ 
      self.setImage(uncheckedImage, forState: .Normal) 
     }else { 
      self.setImage(checkedImage, forState: .Normal) 
     } 
    } 
} 
override func awakeFromNib() { 
    self.addTarget(self, action: "buttonClicked:", forControlEvents: .TouchUpInside) 
    checked = false 
} 
func buttonClicked(sender: UIButton){ 
    if (sender == self){ 
     checked = !checked 
    } 
} 

}

ことではなく、私が得たすべてのものがある:enter image description here

でした何が起こったのか説明しますか?あなたのdidSetステートメントの末尾に

+0

ボタンを作成した場所 –

答えて

0

私は私だけに、この部分self.addTarget ...を変え正常に動作していますあなたのコードを試してみました:あなたはボタンを作成するときに、クラスに変更し

self.addTarget(self, action: #selector(CheckBox.buttonClicked(_:)), forControlEvents: .TouchUpInside) 

と:のCheckBox

0

コールself.setNeedsLayout()。 サブビューのいずれかを変更した場合は、サブビューのレイアウトと子を更新するように依頼する必要があります。それが助けられたら教えてください。

関連する問題