簡體   English   中英

重置標簽欄控制器的視圖控制器

[英]Resetting Tab bar controller's view controllers

在我的應用程序中,我使用XIB創建了Tab欄的視圖控制器。 我的意思是我使用XIB在選項卡欄中添加了視圖控制器。 看圖片

在此處輸入圖片說明

所以我的應用程序就是這樣。 我有一個注銷功能,它將顯示登錄頁面。 在登錄頁面中,我將標簽欄顯示為

    [self.view addSubview tabBarController.view];

當我注銷時,只需刪除此標簽欄,然后將登錄屏幕顯示為

    [self.tabBarController.view removeFromSuperView];

然后它將顯示登錄屏幕。 當我再次登錄時,選項卡欄中的視圖控制器未重置。 我的意思是,如果我在表視圖中顯示了一些數據,例如名稱,那么它將再次出現時保持原樣(有時我以其他用戶身份登錄,並獲得了先前用戶的詳細信息。)。 我試過了

    self.tabBarController.viewControllers = nil;

重置所有視圖控制器,但不再起作用。 我認為每次登錄時,所有視圖控制器都應調用ViewDidLoad:當前它正在調用viewWillAppear: ViewDidLoad: 所以請讓我知道如何解決這個問題

我認為,既然您在退出並再次登錄后就沒有使用新對象,那么它將向您顯示最后一個階段。 登錄后嘗試初始化控制器對象可能對您有用。

讓我知道您是否還有任何問題。

干杯塔倫

麻煩全都因為您使用了Interface Builder。 好的,嘗試解釋一下。 在像MyViewController.m這樣的類中,ypu需要這樣的set屬性:

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

在IB(界面生成器)中,您需要為UITabBarController設置mytabbar屬性名稱。 之后,您可以撤回該變量,因為您有指向該變量的指針。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM