1

UIView の foregroundColor を変更する方法はありますか?

この ">" のような UIView (drawRect) を使用して矢印を作成しています。背景はクリアで、黒い線は 2 本だけです。これはうまく機能しています。しかし、その後、たとえば「>」の色を黒から赤に変更したいと思います。CAKeyframeAnimation を使用して、黒から赤へのグラデーションのようなアニメーションを含めるとよいでしょう。私は borderColor と backgroundColor に対してそれを行うことができますが、これらのプロパティは私が探しているものではありません。

このアニメーション ブロックを使用して、別の UIView の borderColor を変更しています。foregroundColor でも同じことをしたいのですが、iOS では機能しません。

CAKeyframeAnimation* colorAnim = [CAKeyframeAnimation animationWithKeyPath:@"borderColor"];
NSArray* colorValues = [NSArray arrayWithObjects:(id)[UIColor blackColor].CGColor,(id)[UIColor redColor].CGColor,  nil];
colorAnim.values = colorValues;
colorAnim.calculationMode = kCAAnimationPaced;
colorAnim.duration = 5.0;
colorAnim.repeatCount = 1;
[self.myView.layer addAnimation:colorAnim forKey:@"borderColor"];

助けていただければ幸いです、ありがとう!

4

1 に答える 1