root.Conper的self.view和self.view .superview有什么区别?

时间:2012-08-01 11:20:27

标签: objective-c ios

我有一个视图控制器,它被指定为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来制作动画?

1 个答案:

答案 0 :(得分:1)

根据您尝试执行的动画类型,答案可能是here

  

如果要在转换期间更改视图的外观 - 例如,从一个视图翻转到另一个视图 - 然后使用容器视图,UIView的实例,如下所示:

     
      
  1. 开始动画块。

  2.   
  3. 在容器视图上设置转场。

  4.   
  5. 从容器视图中删除子视图。

  6.   
  7. 将新子视图添加到容器视图中。

  8.   
  9. 提交动画块。

  10.