1

UIView で描画するすべての線の色を継続的に変更する必要があります。そして、drawrect メソッド内ですべての線を描画して、色を割り当てました。ここで、ビューが表示されている限り、アニメーション化して色を変更する必要があります。それを行う方法はありますか?どうもありがとう!

4

2 に答える 2

3

CAShapeLayerで線を描くのではなく、線ごとに の1 つのインスタンスを使用することを検討してくださいdrawRect:path必要に応じて、各レイヤーとstrokeColorプロパティの変更をアニメーション化できます。

編集

UIView水平線のみを描画する場合は、単純にfor eachを使用する方がよい場合があります。backgroundColorを実装する代わりに を設定しますdrawRect:。を使用して、frameプロパティとプロパティの両方をアニメーション化できます(またはそのより強力なバリアント)。これは通常、Core Animation をいじるよりも簡単です。backgroundColor+[UIView animateWithDuration:animations:]

于 2013-03-12T07:45:54.843 に答える
2

生活し、学びます。アニメーションは外部で行う方がよい-drawRect:

「行」をUIView、(できれば不透明な) サブビューとしてビューに追加された個々のインスタンスに変更します。次に、ビューに適切なものを設定しbackgroundColorます。

次に、単純な UIView アニメーションを使用してそれらをアニメーション化できます。

于 2013-03-12T07:37:53.520 に答える