UIViews在彼此之间进行切换时不会动画

时间:2011-04-06 02:01:54

标签: iphone objective-c animation

我有两个大小相同的视图,colourPreview设置为self.view的子视图。这是我展示动画的代码:

-(void)startEditingHexLabel {
    [UIView animateWithDuration:0.3
                     animations:^{ 
                         [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:hexTextView cache:YES];
                         [colourPreview removeFromSuperview];
                         [self.view addSubview:hexTextView];
                         [self.view sendSubviewToBack:colourPreview];



                     } 
                     completion:^(BOOL finished){

                         [hexText becomeFirstResponder];
                     }];

}

但它只是在没有转换的情况下更改为新视图。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用transitionWithView:duration:options:animations:completion:(文档here)。似乎这在iOS 4.0+中是首选。有一个如何在这些文档中使用它的例子。

如果您想使用当前的方法,我认为forView中的[UIView setAnimationTransition:forView:cache:]需要成为您要制作动画的视图的超级视图。在你的情况下,这看起来是self.view。完整文档here

HTH