我对如何在我的游戏中最好地执行屏幕转换有点困惑。我需要执行以下转换 [Main Menu] -> [Character Select] -> [Stage Select]
到目前为止,我一直在使用 Interface Builder 从 [Main Menu] 中的控件“单击'n拖动”到 [Character Select] 并选择模态 segue 类型。但后来我意识到,在第二次运行游戏时,玩家不需要再次进入[角色选择]屏幕。然后我会有以下流程 [Main Menu] -> [Stage Select]
所以我的问题是:
1)模态转换是推荐的方式吗?我看到的所有使用模态转换的例子都是弹出或类似的。我不想使用导航栏,因为我认为这些不是游戏的好设计选项。
2) 我在某处看到我不应该在这里使用 segues,而是使用“presentViewController:animated:completion:”,但这让我想到了另一组问题。
3)为了了解presentViewController ...我最终在苹果文档http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html 中没有解释很多事情,
3.1)例如如何在Interface Builder中设置Controller的NIB文件名?(我是否必须创建一个 .xib 文件)。实际上这个 NIB/XIB 文件非常混乱。
我尝试将控制器类的名称作为 NIB 名称传递,如下所示:
MyController* controller = [UIViewController alloc] initWithNibName:@"MyController"...
但我得到一个例外“无法在捆绑中加载NIB......”
3.2)此外,文档指出我应该将 controller.delegate 设置为 self 但 UIController 没有委托属性。我必须自己在呈现的控制器中定义一个委托属性吗?
3.3)第二个参数“bundle”呢,我应该总是传入'nil'还是应该传入mainBundle?
提前致谢。