0

我想做边框动画,例如将标签的颜色从一种颜色更改为具有发光功能的两种或多种不同颜色。

谁能告诉我如何做到这一点。任何帮助将不胜感激

4

1 回答 1

5

CALayer 的动画应该让你开始。

例如,我使用此代码为按钮的边框宽度设置动画(它使边框变粗并恢复正常两次)。

CABasicAnimation* borderAnimation = [CABasicAnimation animationWithKeyPath:@"borderWidth"];
 [borderAnimation setFromValue:[NSNumber numberWithFloat:2.0f]];
 [borderAnimation setToValue:[NSNumber numberWithFloat:0.0f]];
 [borderAnimation setRepeatCount:2.0];
 [borderAnimation setAutoreverses:NO];
 [borderAnimation setDuration:0.2f];

 [self.addToCommandeBtn.layer addAnimation:borderAnimation forKey:@"animateBorder"];

你也可以对颜色做类似的事情,但你可能需要使用一些 UIView 动画块

[UIView animateWithDuration:0.4
                 animations:^{
                     // one animation
                 }
                 completion:^(BOOL finished){
                     // ... completion stuff
                     //other animation when the first one completes
                 }
 ]; 

有关 CALayere 的更多信息:http ://www.raywenderlich.com/2502/introduction-to-calayers-tutorial或核心动画:https ://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual /CoreAnimation_guide/Articles/Headstart.html / http://www.macresearch.org/tutorial-intro-core-animation

于 2012-06-07T07:42:12.923 回答