2012-06-08 219 views
1

在我的應用程序中,我使用XIB爲選項卡欄添加了視圖控制器。我的意思是我使用XIB在選項卡欄中添加了視圖控制器。見圖片,重置選項卡欄控制器的視圖控制器

enter image description here

所以我的應用程序是這樣的。我有一個註銷功能,將顯示登錄頁面。從登錄頁面我已經displayyed標籤欄爲

[self.view addSubview tabBarController.view]; 

當我退出,我只是刪除此標籤欄和顯示的登錄屏幕

[self.tabBarController.view removeFromSuperView]; 

然後它會顯示登錄界面。當我再次登錄時,標籤欄內的視圖控制器不會重置。 我的意思是,如果我在表格視圖中顯示了一些類似於名稱的數據,它將會在我再次登錄時出現(有時候,我以不同的用戶身份登錄並獲取了以前用戶的詳細信息)。我試過

self.tabBarController.viewControllers = nil; 

重置所有視圖控制器,但它不再工作。我想每次當我登錄所有的視圖控制器應該調用ViewDidLoad:,目前它是調用viewWillAppear:。所以請讓我知道我該如何解決這個問題

+0

只是嘗試重新創建它。 'self.tabBarController = [[UITabBarController alloc] init];'和初始化與您的數據項 – luther

+0

我正在寫應用程序沒有接口生成器 – luther

+0

分配給屬性只讀屬性不允許,當我嘗試'self.tabBarController = [[ UITabBarController alloc] init];'@luther – rakeshNS

回答

0

因爲使用Interface Builder,所有這些都是麻煩。好的,試着解釋一下。在你的類像MyViewController.m YPU需要這樣設置屬性:

@interface MyViewController : UIViewController 
{ 
    IBOutlet UITabBarController *mytabbar; 
} 

在IB(Interface Builder中),您需要爲您的UITabBarController設置mytabbar屬性名稱。之後,您可以重新構建此變量,因爲您有指向此變量的指針。

1

我認爲,既然你沒有使用一個新的對象,一旦你註銷並再次登錄,它會顯示你的最後一個階段。嘗試在登錄後初始化控制器對象可能適合您。

讓我知道如果你進一步發現任何問題。

乾杯 塔倫

相關問題