我正在开发一个作为基于TabBarController的应用程序开始的项目,而且大部分仍然是,但一些需求已更改,我们需要将初始视图控制器作为应用程序其余部分的入口点 - 在给定身份验证并加载了一些内容之后,它将在标签栏控制器的主窗口中被替换。从XIB加载UITabBarController不包含任何来自XIB的内容
最初的UITabBarController是MainWindow.xib的一个组件,并且它的所有根控制器都设置了根视图控制器,并且一切都很顺利。我想我可以简单地从MainWindow.xib中提取的UITabBarController组成部分,把它放在自己的CustomTabBarController.xib,然后运行
[self setTabBarController:[[[UITabBarController alloc] initWithNibName:@"CustomTabBarController" bundle:nil] autorelease]];
[_tabBarController setDelegate:self];
[self.window addSubview:_tabBarController.view];
然而,除了获得预构建的标签栏控制器我所料,我得到一个完全空的标签栏控制器。
我错过了什么吗?为什么我无法从笔尖加载预构建的UITabBarController?
这是我最终做的。因为我实际上有一个自定义的UITabBarController子类,它有一些辅助方法,所以我最终重载了'-init'方法来使用'[[nibContents objectAtIndex:0] retain]'而不是'[super init]'。但是,如果不调用retain,则在子类初始化后不久就会释放它。谢谢你的提示! – 2012-02-16 14:51:29