我正在为我的应用程序创建一个自定义进度条。
我已经分类UIView
,所有的绘图都在drawRect
.
现在,自定义进度条有 6 个属性,它们都改变了它的显示方式。
minProgress
maxProgress
progress
onColor
offColor
numberOfSections
这些都由子类设置为默认值,但是在控制器的 viewWillAppear 方法中有几个地方所有这些值都被更改了。
目前我已经为所有看起来像这样的属性编写了setter函数......
- (void)setProgress:(float)progress
{
_progress = progress;
[self setNeedsDisplay];
}
但这是否意味着 drawRect 方法会在实际显示在屏幕上之前被调用 6 次?这似乎是一种不好的做法。
我对此是否正确?还有另一种方法吗?