一个视图控制器上的多个视图控制器

use*_*776 2 cocoa-touch objective-c uiviewcontroller ios

我想在iPad上创建一个双人游戏,但我真的不知道我该怎么做才对.我的概念就像两个玩家游戏的"水果忍者"(一个与其他游戏).

我的意思是一个玩家将在viewcontrollerA中玩,另一个玩家将在viewcontrollerB中玩(这应该是viewcontrollerA的颠倒).

我该怎么办?我是否需要创建两个视图控制器并通过控制器包含显示,或者还有另一种更好的方法吗?谢谢!

Jan*_*ano 6

在iOS5中,控制器有一种幸运的方式来接收定向事件,添加/删除回调,并将它们正确地插入到响应器链中.所以如果你打算这样做,这是最好的方法.只要你不做傻事,比如将相同的视图添加到两个UIViewControllers就可以了.

为什么这样?我看到逻辑将游戏引擎放在主控制器上,编写客户端,将该客户端封装在子视图控制器上,并将其重用于两个玩家.

如果您觉得需要这样的东西,也可以使用嵌套控制器来封装复杂性.示例:一个用于与游戏引擎通信的界面,另一个用于屏幕从引擎获取事件.

UIViewController包含很容易.您需要阅读6种方法并了解所谓的方法.欢迎您阅读文档,但简而言之:

例如,要将一个控制器嵌套在另一个控制器中,请将子视图添加为常规视图,并按以下顺序调用addChildViewController:和didMoveToParentViewController:

// from the parent view controller
ChildViewController *child = [ChildViewController new];
[self addChildViewController:child];
[self.view addSubview:child.view];
[child didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)