xcode iPhone开发视图交换

vc9ivgsu  于 2023-05-30  发布在  其他
关注(0)|答案(2)|浏览(137)

因此,我试图找出最好的方式来交换意见的iPhone游戏,我正在制作。我有一个“根视图控制器”,它引用了所有我想交换的视图控制器。所以我将主菜单视图添加到这个根视图控制器- [self. viewaddSubview:mainMenuController.view];- 然后在主菜单视图中我有一个说明按钮。我在mainMenuController中定义了一个IBAction来响应被单击的指令按钮。从那里,我调用[self.view removeFromSuperview],它工作得很好。它摆脱了主菜单。接下来我想添加指令视图。我原以为它会像[super.view addSubview:super.instructionsController.view]一样简单,但没有成功!我已经想到了几种方法来解决这个问题,但它们似乎都很不优雅,因为我想把所有对视图控制器的引用都保存在一个地方,即根视图控制器。有什么想法吗

rpppsulh

rpppsulh1#

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

twh00eeo

twh00eeo2#

这似乎是一个直截了当的问题,但我花了一段时间才弄清楚我认为不起作用的地方。
(If Xcode给了你一个错误,或者只是行为不端,添加到问题中会很有用...)
但要点是,我认为你认为视图是一些资源,可以卡住视图控制器,但关系是一个多一点的结构化。
这在-> Is it possible to add the same view to two different view controllers?中讨论
所以,我认为这条线是事情破裂的地方。该参数是对UIView对象的引用,但实际的视图控制器和视图管理将崩溃。
[super.view addSubview:super.instructionsController.view]
Is it possible to add the same view to two different view controllers?

相关问题