隐藏的UITabBar仍然可以裁剪任何UIVabBar

时间:2012-04-21 19:51:43

标签: iphone ios xcode uiview uitabbarcontroller

当用户第一次启动我的应用程序时,我一直在尝试添加UIView(带有UIImageView)作为初始屏幕。然而,即使在我隐藏标签栏或将其框架移出屏幕之后,UIView仍然会自动裁剪,就像标签栏仍在那里一样。

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

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

[appDelegate.tabBarController.tabBar setHidden:YES];
[self setView:InitialView];

以下是该事件的屏幕截图:

enter image description here

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

2 个答案:

答案 0 :(得分:1)

据推测,您在此标签栏控制器中有视图的视图控制器。因此,视图控制器的视图大小适当,以适应标签栏控制器的视图。为什么不直接获取标签栏的框架并根据视图的当前高度+标签栏的高度调整视图的高度?

作为旁注,我假设InitialView是一个UIView(或子类)实例。它是标准的面向对象编程约定,用于命名具有小写字母的类的实例,然后以驼峰形式进行,如initialView中所述。只是一个FYI。

答案 1 :(得分:0)

试试这个引用您的App Delegate,它应该考虑到UITabBarController。只是UIImageView作为子视图,当你完成后只需删除它。你显然必须导入你的AppDelegate。

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

[imageView addSubview:appDelegate.window];