容器视图控制器示例

任何人都可以指出我创build一个自定义视图控制器为一个容器视图控制器的好例子吗? 我能find的唯一文档是UIViewController类参考中的几个段落。 我觉得我需要更多的信息,而且一个示例实现将会很好。 Google一无所有。

我特别感兴趣的方法是:

transitionFromViewController:toViewController:duration:options:animations:completion: 

我迄今发现的最好的东西是WWDC 2011会议video会议102 – 实现UIViewController遏制 。

除了WWDC会话video会议102 – 实现 UMLiewController Containment(已经提到超级密码)之外, 关于“iOS上的视图控制器的演变”的Apple WWDC 2012会议也涵盖此主题,示例代码也是示例代码包的一部分:

https://developer.apple.com/devcenter/download.action?path=/wwdc_2012/wwdc_2012_sample_code/wwdc_2012_session_code.dmg

这里也有一个例子: https : //github.com/toolmanGitHub/stackedViewControllers

 - (void)viewDidLoad{ [super viewDidLoad]; // I put self in a Navigation VC so we can use its right navigationbar // item for triggering the transition self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(button:)] autorelease]; // create test1 and test2 instance (subclass UIViewController and // also need to define their own nibs) vc1 = [[test1 alloc]initWithNibName:@"test1" bundle:nil]; vc2 = [[test2 alloc]initWithNibName:@"test2" bundle:nil]; //add to the container vc which is self [self addChildViewController:vc1]; [self addChildViewController:vc2]; //the entry view (will be removed from it superview later by the api) [self.view addSubview:vc1.view]; } 

这个IBAction触发两个VC之间的转换:

 -(IBAction)button:(id)sender { [self transitionFromViewController:vc1 toViewController:vc2 duration:0.5 options:UIViewAnimationOptionTransitionCurlDown animations:nil completion:nil]; } 

不知道这是不是一个“好”的例子,但你可以从https://bitbucket.org/javieralonso/jaacordeonviewcontroller/overview获得一个免费的容器视图控制器;

这是一个完整的手风琴隐喻容器视图控制器

这些是我最喜欢的(iOS7就绪)教程/关于这个主题的例子(所有三个都有在github上提供的源代码):

查看控制器遏制

自定义容器视图控制器转换

交互式自定义容器视图控制器转换

然后,当然,苹果提供了一个关于这个问题的整个写作,我觉得这是非常宝贵的:

创build自定义容器视图控制器