在多个XIB文件之间移动

时间:2010-02-19 19:30:35

标签: iphone objective-c cocoa-touch core-animation

我的理解是,为了在xib文件之间移动,通常使用 导航控制器,标签控制器或Flipside控制器或它们的组合。

但我的问题是 - 我可以编写自己的自定义控制器,并使用Core Animation在视图之间移动,或者这些默认控制器(导航/标签/翻转)是在xib文件之间转换的唯一选项吗?

2 个答案:

答案 0 :(得分:2)

是的,你可以。一种方法是使用一个根级视图控制器,称之为RootViewController,它知道子视图控制器。然后,只需设置并运行一个动画块,从RootViewController中删除一个childViewController的视图,并将另一个childViewController的视图添加到RootViewController。可能会通过某种操作方法触发动画块。

答案 1 :(得分:0)

您可以使用rootController,在这种情况下您将使用

  

/ * RootController * /

     
      
  • (void)showSomething:(id)_example {   self.view = somethingController.view; //设置视图   somethingController.example = _example; //您甚至可以在视图之间设置属性   }
  •   

/ * UIViewController + RootControllerAccess * /

// .H

  

导入“RootController.h”

     

@interface UIViewController(RootControllerAccess)       - (RootController *)rootController;   @end

// .M

  

导入“UIViewController + RootControllerAccess.h”

     

@implementation UIViewController(RootControllerAccess)

     

- (RootController *)fad​​eController {      return(RootController *)self.view.window.rootViewController;   }

     

@end

/ *在这里,您可以随时调用任何视图

  

通过这样做你可以在任何地方使用showSomething:[self.rootController showSomething:nil];