iPhone开发视图交换

时间:2009-08-18 04:26:47

标签: iphone objective-c xcode

所以我试图找出交换我正在制作的iPhone游戏视图的最佳方法。我有一个“根视图控制器”,它引用了我想要交换的所有视图控制器。所以我将主菜单视图添加到这个根视图控制器 - [self.view addSubview:mainMenuController.view]; - 然后在主菜单视图中,我有一个说明按钮。我在mainMenuController中定义了一个IBAction来响应被点击的指令按钮。从那里,我打电话给[self.view removeFromSuperview],效果很好。它摆脱了主菜单。接下来我想添加说明视图。我认为它会像[super.view addSubview:super.instructionsController.view]一样简单,但没有运气!我想到了几种解决这个问题的方法,但它们看起来都非常不优雅,因为我想在一个地方保留对视图控制器的所有引用,即根视图控制器。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

你能不能让你的主菜单视图控制器告诉根视图控制器它已关闭,以及下一步应加载哪个视图的引用?我假设你没有做类似于UITableView的事情,在这种情况下你可能想要使用堆栈。

答案 1 :(得分:0)

您是将super(Objective-C关键字)与self.superview(UIView属性)混合使用吗?

无论如何,通知主控制器切换到另一个视图确实是一个更好的设计,而不是从添加的子视图中做出决定。

答案 2 :(得分:0)

我只是通过在每个控制器中将委托属性设置为根视图控制器来解决它。