我正在開發一個作爲基於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