展示模型视图控制器问题

6

大家好,我在使用MVC(模型视图控制器)时遇到了问题。以下是情景:

  1. 这是一个导航栏应用程序,我有一个UIViewController类,在其中通过使用该语句[self.view addSubView:controllerClass]添加了另一个UIView Controller的类;

  2. 在controllerClass中,我在底部插入了选项卡,并编写了每个选项卡单击的委托,当我单击选项卡时,我将另一个UIViewController类作为子视图添加到其中,但我将高度或框架设置为(0,0,320,369)。因此,当我们单击不同的选项卡时,选项卡将始终显示。

  3. 通过单击第一个标签,例如ScannerViewController,添加一个子视图。此视图中有一个相册按钮。当用户单击它时,将插入presentModel View Controller并隐藏导航栏,当我从相册中选择图片并使导航栏hidden = NO时,它不起作用,并且底部的选项卡消失了。


默认情况下,modalviewcontroller有一个导航栏,只能在基于导航的应用程序中使用。否则,在普通应用程序和带有tabbar的应用程序中,屏幕上对象的y坐标将受到影响。这意味着随modalviewcontroller一起提供的导航栏会占据一些空间,将tabBar向下移动。 - stack2012
而且,您必须使用选项卡栏(不应手动添加)来初始化子视图(控制器类),使其成为选项卡栏式视图控制器。 - stack2012
我正在使用Interface Builder添加tabBar,并使插入选项卡的控制器大小为(0,0,320,369)。 - dark
目前的模型视图控制器在添加后运行良好,但此后视图缩进发生了变化。 - dark
1
-1:请勿通过聊天室(http://chat.stackoverflow.com/transcript/message/1150276#1150276)请求点赞。如果答案/问题很好,点赞自然会到来。 - Lasse V. Karlsen
1个回答

3

听起来你滥用了选项卡栏结构。每个选项卡在选项卡栏上应该有自己的UINavigationController,而不是每个选项卡共享一个控制器。

此外,根据我的经验,最好使用AppDelegate的最低级视图来呈现模态视图控制器。即,在应用程序启动时添加到UIWindow对象的视图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接