2017-08-05 15 views
1

私は基本的に色のついたカスタムUIViewを作成しました。ただし、サークルのcolorプロパティを変更すると、更新されません。これどうやってするの?didSetのコンテクスト塗りつぶしの色を更新する

コード

class CircleView : UIView { 

    var color = UIColor.blue { 
     didSet { 
      // WHAT DO I DO!? 
     } 
    } 

    override init(frame: CGRect) { 
     super.init(frame: frame) 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 

    override func draw(_ rect: CGRect) { 

     guard let context = UIGraphicsGetCurrentContext() else {return} 

     context.addEllipse(in: rect) 
     context.setFillColor(color.cgColor) 
     context.fillPath() 

    } 
} 
+0

を試してみてください?あなたはデフォルトの実装と異なる何もしません – Azat

+0

私はすべてのコードを貼り付けません;) –

答えて

1

ところで、なぜあなたはinit` `上書きしない、次の1

var color = UIColor.blue { 
    didSet { 
     setNeedsDisplay() 
    } 
} 
+0

それは動作します!あなたが私にできるだけ早くあなたの答えを受け入れます –

関連する問題