2012-06-11 103 views
0

我正在制作一个游戏项目,我想要做的是将一组标签从窗口顶部移到窗口底部,让用户阅读这些标签并消失(像标签从上到下滑动而没有任何触发)。Objective C moving Labels

我认为循环中的计时器变量将帮助我滑动并根据计时器值更改其位置。

我做了一些研究,但如果你与我分享一篇文章,我可以知道我应该查找什么。

谢谢。

回答

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); 
     }]; 
    }]; 
} 
+0

这很有帮助,让我意识到逻辑,谢谢。 –

1

不要使用循环或计时器;使用核心动画。只需做animateWithDuration:animations:或类似的工作,并将他们的位置设置为您希望他们成为的新地点。

+0

谢谢你的想法。 –