Ipad 在一个ViewController中可以有多个隐藏视图吗?

Ipad 在一个ViewController中可以有多个隐藏视图吗?,ipad,menu,subview,Ipad,Menu,Subview,我知道,这似乎是一个糟糕的解决方案,但我无法思考或想出如何做得更好。 我需要做的是一个菜单,iPad菜单,上下各有一个工具栏,背景中有一个图像。在底部工具栏中,我将有4个不同的按钮。每个按钮将在屏幕中间创建选项菜单。一个按钮需要显示3个选项(带图像的按钮),另外4个选项,另外8个选项(为此,我将使用滚动视图和页面控制,因为我需要2个页面),另外2个选项。 我试图使用子视图,每个按钮对应一个子视图,并且在子视图中添加了选项。当我选择一个按钮时,其子视图已加载,但当我尝试更改其位置和大小时,其按钮丢

我知道,这似乎是一个糟糕的解决方案,但我无法思考或想出如何做得更好。 我需要做的是一个菜单,iPad菜单,上下各有一个工具栏,背景中有一个图像。在底部工具栏中,我将有4个不同的按钮。每个按钮将在屏幕中间创建选项菜单。一个按钮需要显示3个选项(带图像的按钮),另外4个选项,另外8个选项(为此,我将使用滚动视图和页面控制,因为我需要2个页面),另外2个选项。 我试图使用子视图,每个按钮对应一个子视图,并且在子视图中添加了选项。当我选择一个按钮时,其子视图已加载,但当我尝试更改其位置和大小时,其按钮丢失,子视图为空。。。 现在,我将在ViewController中创建4个子视图,但它们是隐藏的。当我选择一个按钮时,视图将显示,其他视图将隐藏。这意味着,所有子视图都将被加载。这方便吗? 这种方法需要大量内存吗? 如果有人有另一个更好的解决方案,我会非常感激。。。
谢谢

是的,在视图控制器中可以有多个隐藏子视图,但我认为这不是最实用的方法

您提到菜单将显示在屏幕中央。在这种情况下,我认为更好的方法是为每个菜单创建一个单独的视图控制器,然后让主视图控制器使用视图控制器的
modalPresentationStyle
属性以模式显示它们。通过这样做,您不必编写代码来检查哪些视图被隐藏,哪些视图没有被隐藏,从而节省了大量的时间;您让API完成它的工作,因此最多需要实现一些方法,例如
dismissModalViewControllerAnimated:


查看苹果的,更具体地说是“展示另一个视图控制器的内容”部分。

非常感谢。所以,你告诉我,我应该为每个菜单做一个XIB,这个XIB将被加载到我的主视图控制器中?与子viewController类似?是的,每个菜单都将使用自己的xib,并且通过扩展,每个菜单都将有自己的视图控制器,该视图控制器将在其相应的init方法中加载此xib。您的底部菜单将加载相应的视图控制器,然后加载其xib。哦,谢谢,这似乎是一个更好的解决方案。只是一个可能很愚蠢的问题,这个视图控制器是透明的吗?因为我需要看起来像我刚刚添加的按钮,我的意思是,屏幕有一个背景图像,它可能会被按钮弄乱,而不是整个“子视图控制器”,这应该是可能的。为菜单创建XIB时,将其背景色设置为透明;我不记得Interface Builder中是否有此选项,但如果没有,请将其添加到每个菜单的视图控制器的init方法:[self.view setBackgroundColor:[UIColor clearColor]];我还应该指出dismissModalViewController是不推荐的,一开始没有注意到这一点。苹果公司建议使用dismissViewControllerAnimated:completion:代替。哦,非常感谢。正如你所看到的,我是一个初学者。。。我将开始做一些关于解雇的研究。。。谢谢你的帮助