Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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 隐藏的UITabBar仍然会裁剪任何';让我们把它放在上面_Iphone_Ios_Xcode_Uiview_Uitabbarcontroller - Fatal编程技术网

Iphone 隐藏的UITabBar仍然会裁剪任何';让我们把它放在上面

Iphone 隐藏的UITabBar仍然会裁剪任何';让我们把它放在上面,iphone,ios,xcode,uiview,uitabbarcontroller,Iphone,Ios,Xcode,Uiview,Uitabbarcontroller,我一直试图在用户第一次启动我的应用程序时添加一个UIView(带有UIImageView)作为初始屏幕。但是,即使我隐藏了选项卡栏,或者将其框架移出屏幕,UIView仍然会自动裁剪,就好像选项卡栏仍然在那里一样 这两个代码块产生相同的结果: [appDelegate.tabBarController.tabBar setFrame:CGRectMake(0,1000,0,0)]; [self setView:InitialView]; 及 以下是正在发生的事件的屏幕截图: 有人知道如何解决

我一直试图在用户第一次启动我的应用程序时添加一个UIView(带有UIImageView)作为初始屏幕。但是,即使我隐藏了选项卡栏,或者将其框架移出屏幕,UIView仍然会自动裁剪,就好像选项卡栏仍然在那里一样

这两个代码块产生相同的结果:

[appDelegate.tabBarController.tabBar setFrame:CGRectMake(0,1000,0,0)];
[self setView:InitialView];

以下是正在发生的事件的屏幕截图:


有人知道如何解决这个问题吗?在过去的几个小时里,我一直在困惑这个问题,似乎对此无能为力。

大概您的视图的视图控制器就在这个选项卡栏控制器中。因此,视图控制器的视图将适当调整大小,以适合选项卡栏控制器的视图。为什么不直接获取选项卡栏的框架并通过视图的当前高度+选项卡栏的高度来调整视图的高度


作为旁注,我假设
InitialView
是一个UIView(或子类)实例。标准的面向对象编程惯例是用小写字母命名类的实例,然后用驼峰字母继续,如
initialView
中所示。仅供参考。

可能您的视图的视图控制器位于该选项卡栏控制器内。因此,视图控制器的视图将适当调整大小,以适合选项卡栏控制器的视图。为什么不直接获取选项卡栏的框架并通过视图的当前高度+选项卡栏的高度来调整视图的高度


作为旁注,我假设
InitialView
是一个UIView(或子类)实例。标准的面向对象编程惯例是用小写字母命名类的实例,然后用驼峰字母继续,如
initialView
中所示。仅供参考。

尝试此引用您的应用程序代理,它应考虑UITabBarController。仅将UIImageView作为子视图,完成后将其删除。显然,您必须导入AppDelegate

AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];

[imageView addSubview:appDelegate.window];

尝试此引用您的应用程序代理,它应考虑UITabBarController。仅将UIImageView作为子视图,完成后将其删除。显然,您必须导入AppDelegate

AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];

[imageView addSubview:appDelegate.window];

啊,很抱歉违反了标题案例惯例,我早就应该调整了。关于你的解决方案,不幸的是,我已经试过了,但没有用。当我将initialView的框架设置为整个窗口的框架时(视图的高度+49,从选项卡栏上看是49像素高),几乎没有任何可见的变化。”这是我调整了初始视图框架的y值和高度值后的屏幕截图。你不应该改变y。原点仍应为0,0。不幸的是,使用代码行:
[self-setView:initialView]
[initialView setFrame:CGRectMake(0,0[自视图].frame.size.width[自视图].frame.size.height+49)]仍然给我结果:/啊,很抱歉违反了标题案例惯例,我早就应该调整了。关于你的解决方案,不幸的是,我已经试过了,但没有用。当我将initialView的框架设置为整个窗口的框架时(视图的高度+49,从选项卡栏上看是49像素高),几乎没有任何可见的变化。”这是我调整了初始视图框架的y值和高度值后的屏幕截图。你不应该改变y。原点仍应为0,0。不幸的是,使用代码行:
[self-setView:initialView]
[initialView setFrame:CGRectMake(0,0[自视图].frame.size.width[自视图].frame.size.height+49)]仍然给我结果:/我有点不确定你想说什么,但我试图执行你的指示。使用代码行
[appDelegate.window addSubview:initialView]
有点奇怪。我不太清楚那里发生了什么,每次我尝试在UIView周围移动时,似乎什么都没有改变(
insertSubview:atIndex:和subview:
上面没有做任何事情)。然而,我很高兴看到与以前不同的结果,我会继续摆弄!)啊哈!我终于找到了解决方案:
[appDelegate.tabBarController.tabBar setFrame:CGRectMake(01000,0,0)];[appDelegate.window addSubview:initialView];[主视图设置隐藏:是];[appDelegate.window AddGestureRecognitor:SwipedTector]成功了!我有点不确定你想说什么,但我试图执行你的指示。使用代码行
[appDelegate.window addSubview:initialView]
有点奇怪。我不太清楚那里发生了什么,每次我尝试在UIView周围移动时,似乎什么都没有改变(
insertSubview:atIndex:和subview:
上面没有做任何事情)。然而,我很高兴看到与以前不同的结果,我会继续摆弄!)啊哈!我终于找到了解决方案:
[appDelegate.tabBarController.tabBar setFrame:CGRectMake(01000,0,0)];[appDelegate.window addSubview:initialView];[主视图设置隐藏:是];[appDelegate.window AddGestureRecognitor:SwipedTector]成功了!