2010-05-11 42 views
0

我陷入了一个非常简单的问题。我害怕我的问题可能会惹恼一些人。 我正面临的问题是,我想添加UITabBar控制到我的iphone应用程序以外的主屏幕。添加UITabBar控件!

让我解释一下,我已经成功完成了一切 在主窗口的xib中添加了一个IB的UItabbar控件,在后端添加了一个变量,通过拖动该行来关联它。还添加了一个UIWindow变量并写下这些行。

[window addSubview:tabBarController.view]; 
[window makeKeyAndVisible]; 

当我启动应用程序时,出现一个空白窗口,标签栏显示在其底部。但问题是不希望标签栏显示在我的第一个屏幕(或主屏幕上,你叫它)。它实际上是我的应用程序的第3个,第4个屏幕,我希望标签栏显示在底部。它太奇怪了,TabBar控件变量被添加到应用程序的应用程序委托文件中。任何人都可以帮忙吗? 谢谢!

你要添加的TabBar控制器到窗口泰穆尔

回答

1

不幸的是,的UITabBarController文档指出以下:

当部署ta b酒吧界面, 您必须安装此视图作为您的窗口的根 。与其他视图 控制器不同,标签栏界面 决不能作为其他视图控制器的子项 安装。

虽然在技术上可以将UITabBarController的视图添加为UIWindow以外的子视图,但您会发现它提供了比您预期的更多的挑战。例如,由于UITabBarController假定其视图的父视图是全屏UIWindow,因此它会将其框架偏移20个像素以适应状态栏。因此,我建议你想出一个设计,如果可能的话,你的UITabBarController的视图是UIWindow的子视图。这并不一定意味着它需要成为第一个显示的视图。您可以随时在applicationDidFinishLaunching以外的位置添加和删除UIWindow的子视图:

0

,使用

[self.view addSubview:tabBarController.view]

,而不是你上面两行