【问题标题】:UIProgressView Subclassing for custom Colors自定义颜色的 UIProgressView 子类化
【发布时间】:2012-12-10 12:26:06
【问题描述】:

我正在尝试继承 ProgressView 以用作游戏的健康栏,当我尝试覆盖 setProgress 时,它不会被调用。

我希望根据进度浮动值改变颜色。

这是我尝试使用的代码:

@interface AHHealthbar : UIProgressView
...
- (void)setProgress:(float)progress animated:(BOOL)animated
{

if (progress > .5)
{
    self.progressTintColor = [UIColor greenColor];
}

if (progress <= .5 && self.progress >= .2)
{
    self.progressTintColor = [UIColor yellowColor];
}

if (progress < .2) {
    self.progressTintColor = [UIColor redColor];

}

[super setProgress:progress animated:animated];
}

有没有人知道如何覆盖它?还是有更好的想法?

【问题讨论】:

  • 您确定将其正确启动为 AHHealthbar(而不是 UIProgressView)吗?很容易忘记这一点,尤其是从 NIB 文件启动时。在调试器中检查你的变量指针类型。
  • 我可以确认 AHHealthbar 正在被实例化,但我的 setProgress 方法从未被调用。我覆盖了被调用的drawrect。但我不想自己画,只画颜色。
  • 嗯,你尝试过覆盖-setProgress:吗?
  • 这正是我想要覆盖的......

标签: ios uiview colors uiprogressview


【解决方案1】:

您可能还需要覆盖-setProgress:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 2011-11-16
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多