1

わかりましたので、iOS アプリの一連の色をアニメーション化するためにこれを行っています。

[UIView animateWithDuration:3.0 animations:^{
                gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, number_of_locations);
                CGContextDrawRadialGradient(context, gradient, start, 0, end, sqrt((self.frame.size.width*self.frame.size.width)+(self.frame.size.height*self.frame.size.height)), kCGGradientDrawsBeforeStartLocation); 
        }];

ほとんどの場合、それは機能します。色を変えるたびに、まったく反対の色でちらつきます。たとえば、赤からオレンジに変わるときは、緑で点滅します。コミュニティ、どのように修正しますか? :D

ありがとうございました。

4

1 に答える 1

1

代わりに CAGradientLayer を使用してください。colorsプロパティはアニメート可能です。

上記で使用しているコードは、アニメーション化可能なプロパティを変更しておらず、コンテキストが少し不足しているため (しゃれが意図されています)、どのように「機能」しているかわかりません。有効なアニメーション ブロックのようには見えません。

于 2012-05-26T06:12:18.720 に答える