我有一个视图控制器,它被指定为rootViewController,如下所示:
self.viewCntrl = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewCntrl;
在同一视图控制器中,我有一个按钮,我正在按钮点击执行过渡动画,如下所示:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view.superview cache:YES];
但是当我这样写时它不起作用:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
这里的self是一个ViewController的对象,ViewController只是分配给self.window.rootViewController 。那么为什么需要self.view.superview而不是self.view来制作动画?
答案 0 :(得分:1)
根据您尝试执行的动画类型,答案可能是here:
如果要在转换期间更改视图的外观 - 例如,从一个视图翻转到另一个视图 - 然后使用容器视图,UIView的实例,如下所示:
开始动画块。
在容器视图上设置转场。
从容器视图中删除子视图。
将新子视图添加到容器视图中。
- 醇>
提交动画块。