我正在开发一个游戏项目,我想做的是在一个窗口中移动一组标签,从屏幕顶部到底部,让用户阅读这些标签,然后逐渐消失(就像标签滑动一样)从上到下没有任何触发器。)
我认为循环中的计时器变量可以帮助我根据计时器值滑动并改变它们的位置。
我做了一些研究,但如果你和我分享一篇文章,我就知道我应该注意什么。
谢谢。
答案 0 :(得分:2)
@Chuck是对的。详细说明:
-(void)doTheLabelThing {
// assume all the labels are in a container view that is 320 wide and 100 tall
self.labelContainer.frame = CGRectMake(0, -100, 320, 100);
[UIView animateWithDuration:0.5 animations:^{
// slide down
self.labelContainer.frame = CGRectMake(0, 360, 320, 100);
} completion:^(BOOL finished) {
// give user 3 seconds to read it
[UIView animateWithDuration:0.5 delay:3.0 options:0 animations:^{
// fade out
self.labelContainer.alpha = 0.0;
} completion:^(BOOL finished) {
// restore everything to original state
self.labelContainer.alpha = 1.0;
self.labelContainer.frame = CGRectMake(0, -100, 320, 100);
}];
}];
}
答案 1 :(得分:1)
不要使用循环或计时器;使用核心动画。只需animateWithDuration:animations:
或类似,并将其位置设置为您希望它们的新位置。