Rud*_*vič 20 cocoa-touch core-animation uibutton ios
在这里,我找到了如何UIButton使用现已弃用的beginAnimations:context:方法来动画的标题更改:
如何使用当前的API做同样的事情?
更新:
我试过使用基于块的动画:
NSTimeInterval animationDuration = animated ? 1.f : 0.f;
[UIView animateWithDuration:animationDuration delay:0.f options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionAllowUserInteraction animations:^{
[button setTitle:newTitle forState:UIControlStateNormal];
[button setTitleColor:newTitleColor forState:UIControlStateNormal];
} completion:nil];
Run Code Online (Sandbox Code Playgroud)
颜色更改不是动画.
jjv*_*360 48
使用块:
[UIView transitionWithView:self.flipLabelButton duration:1 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{
[self.flipLabelButton setTitle:newText forState:UIControlStateNormal];
} completion:nil];
Run Code Online (Sandbox Code Playgroud)
bud*_*ino 22
迅速
UIView.transition(with: button, duration: 0.5, options: .transitionCrossDissolve, animations: {
self.button.setTitle("WOW, new title", for: .normal)
self.button.setTitleColor(UIColor.red, for: .normal)
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
小智 7
除了AnimationGroups之外,通常还有两种动画,一种是属性动画,另一种是动画内容,转换或任何不能使用属性做动画的动画.所以第二个解决方案是您的选择,您可以通过两种方式实现这一目标:使用CATransition:
CATransition *transition = [CATransition animation];
transition.type = kCATransitionFade;
transition.duration = 1;
[button.layer addAnimation:transition forKey:kCATransition];
[button setTitle:newTitle forState:UIControlStateNormal];
[button setTitleColor:newColor forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
另一种方式是使用UIKit块,如@jjv360所说,但你不能在其中设置颜色动画,因为显然颜色不能翻转.
| 归档时间: |
|
| 查看次数: |
15735 次 |
| 最近记录: |