Tia*_*hou 5 iphone cocoa-touch core-animation
我想达到淡入/淡出rect或text的效果.我在我的UIVIew的drawRect:方法中调用了CGContextFillRect或CGContextShowText.我不知道是否有一种方法可以实现动画,而无需使用的UIView的支持(即[UIView的beginAnimations:].该预期的效果我想实现的是类似微软的什么兵检索算法引擎,就像那些黑色的小方块淡入/当你在网页上移动时淡出.提前感谢!
Bra*_*son 23
为什么你不想使用UIView的动画块?使用它来动画视图(UILabel或其他)的不透明度的变化非常容易.例如,以下代码将在0.5秒的持续时间内淡出给定视图:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
viewToFadeOut.alpha = 0.0f;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
要淡入,只需将1.0f的alpha值替换为1.0f即可.
您可以使用手动构造的CABasicAnimation来操作UIView的图层:
CABasicAnimation *fadeOutAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeOutAnimation.duration = 0.5f;
fadeOutAnimation.removedOnCompletion = NO;
fadeOutAnimation.fillMode = kCAFillModeForwards;
fadeOutAnimation.toValue = [NSNumber numberWithFloat:0.0f];
[viewToFadeOut.layer addAnimation:fadeOutAnimation forKey:@"animateOpacity"];
Run Code Online (Sandbox Code Playgroud)
如果您想要做的就是淡入/淡出视图周围的边框,请尝试动画UIView图层的borderColor属性(与上面的CABasicAnimation相同,只替换opacity为borderColor带有CGColor强制转换的toValue id).
| 归档时间: |
|
| 查看次数: |
10488 次 |
| 最近记录: |