同时执行两个UIView(不按顺序)

时间:2012-09-30 19:19:34

标签: iphone multithreading animation uiview block

我在网上冲浪,但我无法解决我遇到的问题。 我正在开发一款iPhone应用程序。 这里的问题是:我有树UIView A,B和C. A和B进入C. 当C有结果显示时,我想同时执行A和B. A和B是计数器动画,每个动画需要5秒。完成。但我找不到同时显示A和B的计数器动画的方法。 A动画结束时始终执行B。 我尝试使用块(dispatch_queue_t)但我有相同的结果。 有可能做我想做的事吗?

编辑: code中的问题是计数器(A和B)不会同时执行。

1 个答案:

答案 0 :(得分:0)

那样的东西?

-(void)viewDidLoad {
    [super viewDidLoad];
    [self startAnimation];
}

-(void)startAnimation {

   //Creating views
   UIView *v1 = [UIView.alloc initWithFrame:CGRectMake(10, 10, 40, 40)];
   v1.backgroundColor = [UIColor blueColor];
   [self.view addSubview:v1];

   UIView *v2 = [UIView.alloc initWithFrame:CGRectMake(140, 240, 40, 40)];
   v2.backgroundColor = [UIColor redColor];
   [self.view addSubview:v2];

    //Animating views
    [UIView animateWithDuration:0.5
                 animations:^{
                     v1.frame = CGRectMake(10, 240, 40, 40);
                 }];


    [UIView animateWithDuration:0.5
                 animations:^{
                     v2.frame = CGRectMake(140, 10, 40, 40);
                 }];
}