2

私のアプリケーションでは、XIB を使用してタブ バー用のビュー コントローラーを作成しました。つまり、XIB を使用してタブ バーにビュー コントローラーを追加したということです。写真を見て、

ここに画像の説明を入力

だから私のアプリケーションはこのようなものです。ログインページを表示するログアウト機能があります。ログインページから、タブバーを次のように表示しました

    [self.view addSubview tabBarController.view];

ログアウトするときは、このタブバーを削除して、ログイン画面を次のように表示します

    [self.tabBarController.view removeFromSuperView];

次に、ログイン画面が表示されます。再度ログインすると、タブ バー内のビュー コントローラーがリセットされません。つまり、テーブルビューで名前のようなデータを表示した場合、再度ログインしたときにそのまま表示されます(別のユーザーとしてログインし、前のユーザーの詳細を取得する場合があります)。私は試した

    self.tabBarController.viewControllers = nil;

すべてのView Controllerをリセットしますが、もう機能しません。ログインするたびに、すべてのView Controllerが呼び出す必要があると思いますがViewDidLoad:、現在は呼び出していviewWillAppear:ます。どうすればこの問題を解決できるか教えてください

4

2 に答える 2

1

サインアウトして再度サインインすると、新しいオブジェクトを使用していないため、最後の段階で表示されていると思います。ログイン後にコントローラーオブジェクトを初期化してみてください。

さらに問題が見つかった場合はお知らせください。

乾杯タルン

于 2012-06-08T05:10:14.293 に答える
0

Interface Builder を使用しているため、すべてが面倒です。わかりました、説明してみてください。MyViewController.m ypu のようなクラスでは、次のようにプロパティを設定する必要があります。

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

mytabbarIB (Interface Builder)では、UITabBarController のプロパティ名を設定する必要があります。その後、この変数へのポインタがあるため、この変数を再作成できます。

于 2012-06-08T05:01:49.307 に答える