好的,所以我选择使用块动画为我的标签设置动画。
逻辑非常简单,我有一个由按钮组成的图表栏,当按下按钮时,它创建一个没有宽度的标签,然后以相同的方法,动画开始加长标签,使单词标签内部出现,然后在短暂的2.5秒延迟后,标签再次缩小并从超视图中移除。
问题是:
延迟在OS 4.3中正常运行。 动画按预期工作,它显示标签,在2.5之后它会触发下一个动画并关闭标签。
OS 5.0中忽略延迟。 第一个动画完成后,它没有等待延迟,而是立即触发下一个动画块。
以下是我的一些关于动画的代码:
UILabel *lbl = [self createLabelWithText:numString frame:CGRectMake(touchPoint.x, touchPoint.y, 0, 10) bold:YES font:@"Helvetica" fontSize:10 color:[UIColor whiteColor] textAlignment:UITextAlignmentLeft andTag:987];
[lbl setBackgroundColor:[UIColor blackColor]];
[lbl setAlpha:0.5];
[self.view addSubview:lbl];
[UIView animateWithDuration:0.3 animations:^
{
[lbl setFrame:lblRect];
}completion:^(BOOL finished)
{
[UIView animateWithDuration:0.2 delay:2.5 options:UIViewAnimationOptionCurveEaseInOut animations:^
{//here the second animation delay run properly on 4.3 , but ignored at 5.0
[lbl setFrame:CGRectMake(touchPoint.x, touchPoint.y, 0, 10)];
}completion:^(BOOL finished) {
[lbl removeFromSuperview];
}];
}];
提前感谢您的帮助!
编辑:如果您有任何想知道为什么这个人没有搜索谷歌或其他stackoverflow问题,事实上,我做了,遗憾的是我找到的所有帖子都没有提供我需要的答案。 :(
答案 0 :(得分:1)