0

所以我有一个按钮,IBAction它应该显示一个subview. 在view情节提要中,我称它为instantiateViewController。这工作正常。我想将视图转换动画到我遇到这个问题的屏幕上。以下代码是我所拥有的,但它所做的只是view一次显示整个内容,但按钮等上没有文本,然后从顶部向下拖动文本。相当晦涩。注释掉该setAnimationTransition行预示着同样的结果。

MapViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MapViewController"];

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:MapViewController.view cache:YES];

[self.view addSubview:MapViewController.view];
[UIView commitAnimations];

有人有什么想法吗?

非常感谢您的帮助。

谢谢。

根据下面的评论,我已将其更改为:

[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{[self.view addSubview:MapViewController.view];} completion:NULL]; 

然而问题仍然存在。

4

3 回答 3

1

尝试这个 :

[UIView transitionWithView:self.view
                duration:0.5
                options:UIViewAnimationOptionTransitionFlipFromRight
                animations:^{
                   [self.view addSubview:MapViewController.view];
                }
                completion:nil];
于 2013-06-19T12:42:22.493 回答
1
[UIView transitionWithView:containerView duration:0.5
    options:UIViewAnimationOptionTransitionCurlUp //change to whatever animation you like
    animations:^ { [containerView addSubview:subview]; }
    completion:nil];

似乎工作。

于 2016-01-11T09:43:01.483 回答
0

改变

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
                       forView:MapViewController.view 
                         cache:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
                       forView:self.view 
                         cache:YES];

您不是为添加的视图设置动画,而是为容器设置动画...

另请注意,这组方法已弃用,如果您的目标不是 iOS < 4.0,则应改用基于块的动画方法。

不要使用UIViewAnimationOptionTransitionFlipFromRight,这仅适用于基于块的方法(请参阅 Akash 的回答)。

于 2013-06-19T12:49:02.503 回答