【发布时间】:2016-01-30 20:32:34
【问题描述】:
我希望当我的 ViewController 中的步进器更改变量(redd1、greenn1、bluee1)时,圆圈颜色的值会更新。原来的圆是用drawRect绘制的。
var redd1 = 0.0;
var greenn1 = 0.0;
var bluee1 = 0.0;
override init(frame: CGRect)
{
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
}
override func drawRect(rect: CGRect)
{
let circle2 = UIView(frame: CGRect(x: -25.0, y: 10.0, width: 100.0, height:100.0))
circle2.layer.cornerRadius = 50.0
let startingColor2 = UIColor(red: (CGFloat(redd1))/255, green: (CGFloat (greenn1))/255, blue: (CGFloat(bluee1))/255, alpha: 1.0)
circle2.backgroundColor = startingColor2;
addSubview(circle2);
}
我尝试创建一个新函数,在旧圆圈之上绘制一个新圆圈。它由步进器调用。新函数 updateColor() 从步进器接收新值。这部分有效,因为它打印出正确的新值,但从不绘制新圆。
func updateColor()
{
let circle = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))
circle.layer.cornerRadius = 50.0;
let startingColor = UIColor(red: (CGFloat(redd1))/255, green: (CGFloat(greenn1))/255, blue: (CGFloat(bluee1))/255, alpha: 1.0)
circle.backgroundColor = startingColor;
addSubview(circle);
}
【问题讨论】:
标签: swift view viewcontroller geometry drawrect