对于一个UIView,一个接一个地做两个动画

时间:2014-10-08 01:13:59

标签: ios objective-c

我创建了一个名为 myView UIView。首先,将其移至左侧。然后将它移到右边。我用了两个[UIView animatedWithDuration:delay:animations:^completed:^]。但它没有用。

我问了一位高级工程师,他给了我这个解决方案。

[UIView animatedWithDuration:
                  animations:
                          //first animation
                  completed:
                          dispatch_after(.....){
                              //second animation
                          }
]

通过使用dispatch_after(),可以按顺序执行这两个动画。

1 个答案:

答案 0 :(得分:4)

试试这个:

[UIView animateWithDuration:0.3f animations:^{
    self.theView.frame = CGRectMake(10, 10, 100, 100);
} completion:^(BOOL finished) {
    [UIView animateWithDuration:0.3f animations:^{
        self.theView.frame = CGRectMake(200, 10, 100, 100);
    } completion:nil];
}];