多个UIView动画第3个无意中首先取消

时间:2015-08-13 00:49:15

标签: ios objective-c animation uiview

我遇到了一些代码问题。 我打电话给3个UIView动画。如果我只运行两个,Ring和另一个一切正常。如果我将第一个" Ring"动画将重置为故事板中的原始位置,就像动画被取消或重置一样。

-(IBAction)home2{
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    CGRect frame = ring.frame;
    frame.origin.x = 461;
    frame.origin.y   = 57;
    [ring setFrame:frame];
    [UIView commitAnimations];
}
{
    UIImage *secondImage = [UIImage imageNamed:@"BigNames1.png"];
    [UIView transitionWithView:words duration:0.0
    options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
    words.image = secondImage;[[words superview] bringSubviewToFront:words];
    }completion:nil];
}
{   UIImage *secondImage = [UIImage imageNamed:@"RealPhoto1.png"];
    [UIView transitionWithView:imagesilhouette duration:1.0
    options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
    imagesilhouette.image = secondImage;[[imagesilhouette superview] bringSubviewToFront:imagesilhouette];
    }completion:nil];

}

}

我已尝试将每个分解为子程序以进行故障排除。同样,如果我运行3,第一次将在第3次启动时重置。我希望答案很简单。我是编码的新手,所以我敢打赌它更容易出错。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试在UIViewAnimationOptionBeginFromCurrentState动画中使用options