我正在制作一个游戏项目,我想要做的是将一组标签从窗口顶部移到窗口底部,让用户阅读这些标签并消失(像标签从上到下滑动而没有任何触发)。Objective C moving Labels
我认为循环中的计时器变量将帮助我滑动并根据计时器值更改其位置。
我做了一些研究,但如果你与我分享一篇文章,我可以知道我应该查找什么。
谢谢。
我正在制作一个游戏项目,我想要做的是将一组标签从窗口顶部移到窗口底部,让用户阅读这些标签并消失(像标签从上到下滑动而没有任何触发)。Objective C moving Labels
我认为循环中的计时器变量将帮助我滑动并根据计时器值更改其位置。
我做了一些研究,但如果你与我分享一篇文章,我可以知道我应该查找什么。
谢谢。
@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);
}];
}];
}
不要使用循环或计时器;使用核心动画。只需做animateWithDuration:animations:
或类似的工作,并将他们的位置设置为您希望他们成为的新地点。
谢谢你的想法。 –
这很有帮助,让我意识到逻辑,谢谢。 –