我想做的是在计时器滴答作响时为标签设置动画。我有一个基于窗口的应用程序。
- 我在一个while循环中尝试了核心动画,但程序只是冻结了。
- 我尝试了由计时器(NSTimer)触发的核心动画,但没有任何反应。
问题:我调试了程序,一切看起来都很好,所有的语句都在执行,但是没有任何反应。我认为不允许循环或由计时器触发的核心动画。还有其他方法吗?
我所拥有的是:
drawingTimer = [NSTimer scheduledTimeWithTimeInterval:60.0 target:self
selector:@selector(slideWords) userInfo:nil repeats:NO];
-void (slideWords){
randomNumber = 1 + arc4Random()%2;
if(randomNumber = 1){
Redlabel.alpha = 1.0;
RedLabel.frame = CGRectMake(0, -50, 320, 100);
[UIWindow animateWithDuration:5.0 animations:^{
Redlabel.alpha = 1.0;
Redlabel.frame = CGRectMake(0,300,320,100);
}completion:^(BOOL finished){
[UIWindow animateWithDuration:0.5 delay:0.5 options:0 animations:^{
Redlabel.alpha = 0.0;
}completion:^(BOOL finished){
}];
}];
}
if(randomNumber = 2){
GreenLabel.alpha = 1.0;
GreenLabel.frame = CGRectMake(0, -50, 320, 100);
[UIWindow animateWithDuration:5.0 animations:^{
GreenLabel.alpha = 1.0;
GreenLabel.frame = CGRectMake(0,300,320,100);
}completion:^(BOOL finished){
[UIWindow animateWithDuration:0.5 delay:0.5 options:0 animations:^{
GreenLabel.alpha = 0.0;
}completion:^(BOOL finished){
}];
}];
}
}