1

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

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

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

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

以下是该事件的截图:

在此处输入图像描述

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

4

2 回答 2

1

大概您在此选项卡栏控制器中有视图的视图控制器。结果,视图控制器的视图被适当地调整大小以适合标签栏控制器的视图。为什么不直接获取标签栏的框架并通过视图的当前高度+标签栏的高度来调整视图的高度?

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

于 2012-04-21T19:57:55.793 回答
0

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

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

[imageView addSubview:appDelegate.window];
于 2012-04-21T20:02:32.843 回答