1

ゲームのヘルスバーとして使用するために 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];
}

これをオーバーライドする方法を知っている人はいますか? または、より良いアイデアはありますか?

4

1 に答える 1

1

もオーバーライドする必要がある場合があります-setProgress:

于 2012-12-23T22:46:27.440 に答える