Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在子视图上隐藏选项卡栏控制器_Iphone_Uiviewcontroller_Uitabbarcontroller_Subview_Presentmodalviewcontroller - Fatal编程技术网

Iphone 在子视图上隐藏选项卡栏控制器

Iphone 在子视图上隐藏选项卡栏控制器,iphone,uiviewcontroller,uitabbarcontroller,subview,presentmodalviewcontroller,Iphone,Uiviewcontroller,Uitabbarcontroller,Subview,Presentmodalviewcontroller,我发现这个问题有很多不同之处,但我只是想澄清一下,因为我的问题似乎无法解决 我有一个TabBarController TBC,每个选项卡包含几个UIViewController。在其中一个UIViewController主菜单上,我尝试添加另一个UIViewController game1作为子视图: [self.view addSubview:game1.view]; 现在的问题是它需要TBC,所以我尝试使用以下方法隐藏它: self.hidesBottomBarWhenPushed = Y

我发现这个问题有很多不同之处,但我只是想澄清一下,因为我的问题似乎无法解决

我有一个TabBarController TBC,每个选项卡包含几个UIViewController。在其中一个UIViewController主菜单上,我尝试添加另一个UIViewController game1作为子视图:

[self.view addSubview:game1.view];
现在的问题是它需要TBC,所以我尝试使用以下方法隐藏它:

self.hidesBottomBarWhenPushed = YES; //< (In the game1.m ViewDidLoad method)

我猜这是因为在使用addSubview方法时,菜单从未被按下

最初我使用的是presentModalViewController方法,但是帧被传递到新视图上,从而导致UI布局被偏移/放大

有人能帮我解决这个问题吗?我似乎无法隐藏TBC,我的想法也快用完了

感谢advanced,Elliott

仅当您将视图控制器推送到UINavigationController堆栈上时,才会隐藏ButtomBarWhenPush。您使用addSubview所做的是:将game1的视图添加到当前视图控制器的视图中。这根本不对,UIKit根本不会处理这件事

您应该放置一个UINavigationController作为选项卡的视图控制器,然后按下game1视图控制器,如下所示:

[self.navigationController pushViewController:game1 animated:YES];

而不是addSubview:。这将在按下HidesBottomBar时起作用。但是请注意,最好在game1类的init方法中设置HidesBottomBar,而不是在viewDidLoad中设置。

因此,与其在选项卡项Main菜单等中设置大量UIViewController,不如将其设置为NavigationController?如果要推送其他视图控制器,请选择“是”,这是做事的惯常方式。如果需要,可以在主屏幕上隐藏实际的导航栏,然后在按下视图控制器时显示。这可能就是你要找的东西。很抱歉回复太慢,周末搬家了!好的,谢谢你的帮助,我会更新我的代码,并尝试用这种格式构造它,看看我是否能得到想要的效果。我真正想要的是能够在没有TabBar的情况下显示视图,因为在显示游戏屏幕时,我不再希望用户能够浏览菜单。问题是,当我将非选项卡栏视图推到选项卡栏视图上时,由于屏幕尺寸的变化,nib布局显示偏离中心。听起来你需要坐下来思考一下你的UI层次结构。我不完全确定你想做什么,但听起来你想要的是如何表现。如果这导致模态VC的框架出错,那么您应该查看该视图的XIB/视图加载代码,看看有什么问题。请特别注意调整大小的遮罩。
[self.navigationController pushViewController:game1 animated:YES];