如何在将视图控制器加载为子视图的同时保持对根视图的控制?

时间:2010-09-22 21:57:00

标签: iphone objective-c

我有一个根视图,其中包含一个表和一个按钮。当我按下按钮时,视图将加载到根视图的顶部,但保持我的根视图可见。按下按钮后出现的视图将被视为可滚动的菜单。我的问题是当我想要关闭出现的菜单时。

我在根视图顶部显示的子视图上使用[self.view removeFromSuperview]。当子视图消失时,我无法从我的表中进行选择。

如何摆脱我的子视图并仍然控制我的根视图。另外,如何根据我所做的菜单选择更改我的根视图显示的内容。由于我的菜单是我的根视图的子视图。

我不确定这些事情是否可行。我一直在试验,但到目前为止,我失去了对我的根视图的控制。我可以在桌面上下滚动并重新启动菜单子视图。但我不能从表中做出任何选择。从菜单中做出选择后,我无法更改我的根视图显示的内容。

如果有人能为我解释这个问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的,我不完全明白你在做什么,所以如果我的回答是垃圾,请原谅我的。 据我所知,你有一个ViewController与另一个ViewController作为子视图。如果是这样,您可能会遇到意外行为,因为根据文档

  

您创建的每个自定义视图控制器对象都负责管理一个屏幕的内容。

有一些例外(例如TabBarController中的ViewController),但ViewController中的ViewController绝对不是可行的方法。

因此,如果要在按下Button后显示ViewController,请使用“superview”的“presentModalViewController:animated:”方法将其显示为Modal ViewController。您可以在ModalView中进行选择,并通过“dismissModalViewControllerAnimated:”

将其关闭。