所以我有一个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];
然而问题仍然存在。
答案 0 :(得分:1)
试试这个:
[UIView transitionWithView:self.view
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^{
[self.view addSubview:MapViewController.view];
}
completion:nil];
答案 1 :(得分:1)
[UIView transitionWithView:containerView duration:0.5
options:UIViewAnimationOptionTransitionCurlUp //change to whatever animation you like
animations:^ { [containerView addSubview:subview]; }
completion:nil];
似乎工作。
答案 2 :(得分:0)
更改
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:MapViewController.view
cache:YES];
到
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self.view
cache:YES];
您没有动画添加的视图,您可以为容器设置动画......
另请注意,这组方法已弃用,如果您不是针对iOS< 4.0,你应该使用基于块的动画方法。
不要使用UIViewAnimationOptionTransitionFlipFromRight
,这仅适用于基于块的方法(参见Akash的回答)。