私は単純なカスタムUIView(矩形)がdrawRectで実装されています。アニメーションカスタムUIView
ビューは2つの値から取得されます。 drawRectからcurrentValueはとmaxValueの
:
RECTの高さがcurrentValueはがmaxValueのであるどれだけ表します
if(currentValue > maxValue)
currentValue = maxValue;
float scale = currentValue/maxValue;
//Draw the rect
CGContextBeginPath(context);
CGContextMoveToPoint(context, self.bounds.origin.x, self.bounds.size.height);
CGContextAddLineToPoint(context, self.bounds.size.width, self.bounds.size.height);
CGContextAddLineToPoint(context, self.bounds.size.width, self.bounds.size.height-(self.bounds.size.height*scale));
CGContextAddLineToPoint(context, self.bounds.origin.x, self.bounds.size.height-(self.bounds.size.height*scale));
CGContextClosePath(context);
CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);
CGContextFillPath(context);
CGContextStrokePath(context);
私はcurrentValueはを変更UISliderとセットアップのViewControllerをしましたし、それが変更されるたびにsetNeedsDisplayが呼び出されます。この部分はうまく動作します。スライダが使用されているときは、まっすぐに高さが変更されます。
私の質問は..私はこの高さをアニメーション化するのが欲しいです。それを行う最良の方法は何ですか?
ありがとうございました
ありがとう、私は単純なUIView rectを使用して、UIView animateWithDuration ..の代わりにフレームを変更してしまいました。 – Jach0