当用户第一次启动我的应用程序时,我一直在尝试添加UIView(带有UIImageView)作为初始屏幕。然而,即使在我隐藏标签栏或将其框架移出屏幕之后,UIView仍然会自动裁剪,就像标签栏仍在那里一样。
这两个代码块都产生了相同的结果:
[appDelegate.tabBarController.tabBar setFrame:CGRectMake(0,1000,0,0)];
[self setView:InitialView];
和
[appDelegate.tabBarController.tabBar setHidden:YES];
[self setView:InitialView];
以下是该事件的屏幕截图:
有谁知道如何解决这个问题?在过去的几个小时里,我一直在为此感到困惑,我似乎无能为力。
答案 0 :(得分:1)
据推测,您在此标签栏控制器中有视图的视图控制器。因此,视图控制器的视图大小适当,以适应标签栏控制器的视图。为什么不直接获取标签栏的框架并根据视图的当前高度+标签栏的高度调整视图的高度?
作为旁注,我假设InitialView
是一个UIView(或子类)实例。它是标准的面向对象编程约定,用于命名具有小写字母的类的实例,然后以驼峰形式进行,如initialView
中所述。只是一个FYI。
答案 1 :(得分:0)
试试这个引用您的App Delegate,它应该考虑到UITabBarController。只是UIImageView作为子视图,当你完成后只需删除它。你显然必须导入你的AppDelegate。
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];
[imageView addSubview:appDelegate.window];