我有一系列想要在UILabel
上执行的动画,所以我查找了iOS7中添加的UIViewKeyframeAnimations
。更改UILabel的文本使它在使用UIViewKeyframeAnimations时重新出现
什么,我想做一个简单的版本是:
- 淡出的UILabel与持续时间0.5秒
- 等待1秒
淡入的UILabel与新文本与持续时间0.5秒
NSTimeInterval duration = 2; [UIView animateKeyframesWithDuration:duration delay:0 options:UIViewKeyframeAnimationOptionAllowUserInteraction | UIViewAnimationOptionOverrideInheritedOptions animations:^{ [UIView addKeyframeWithRelativeStartTime:0 relativeDuration:0.5/duration animations:^{ self.label.alpha = 0; }]; [UIView addKeyframeWithRelativeStartTime:1.5/duration relativeDuration:0.5/duration animations:^{ self.label.text = [@(arc4random_uniform(4000)) stringValue]; self.label.alpha = 1; }]; } completion:nil];
结果是标签文本是淡出并以新的文字重新出现,然后再次消失并再次消失。
结果的视频:Animation Failure
干杯 莫滕
没关系啊,所以我的选择是1.回复到旧animateWithDuration 2.介绍一个临时'UILabel'和'UIImageView' 3.使用一些第三方承诺框架扫。选项1对长动画非常混乱。 – mbogh 2014-10-16 11:56:21