ゲームのヘルスバーとして使用するために 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];
}
これをオーバーライドする方法を知っている人はいますか? または、より良いアイデアはありますか?