0

サブビュー ( ) 内に配置されたボタンからログアウトしようとしていますSettingsViewController.hLogInViewController.hそこで、からログインしHomeViewController.h、次のコードを実行するバー ボタン項目の [設定] がある に移動します。

-(IBAction)settingsButton:(id)sender{
    SettingsViewController* settings = [[SettingsViewController alloc]init];
    settings.view.tag = 7; //This is to remove the settings from view in SettingsViewController.h
    [self.tabBarController.view addSubview:settings.view];
}

SettingsViewController.hビューをサブビューとして追加して、HomeViewController.hビューの背後にSettingsViewController.hビューを表示したまま、背景を透明にすることができました。

SettingsViewController.h、私は実際の問題を抱えています。ログアウト ボタンがあり、LoginViewController.hそのボタンをクリックした後にビューを表示しようとしています。だからここにコードがありますSettingsViewController.h

-(IBAction)logoutButton:(id)sender{
    //I cleared all user preferences here
    //ex. [user loggedOut];
    LoginViewController *backToLoginScreen = [[LoginViewController alloc]init];
    [self presentViewController:backToLoginScreen animated:NO completion:nil];
    [[self.view viewWithTag:7] removeFromSuperview]; //This is supposed to remove the Settings view from the view, but if I try to log in again, the setting view will come up
}

したがって、 を呼び出してpresentViewControllerもビューは削除されないと思いますが、設定ビューを削除するために何をすべきかわかりません。助けてください?ありがとう!

4

1 に答える 1

0
  1. popToViewController: animated: またはメソッドを使用 popViewControllerAnimated:して戻る.Push は VC の新しいインスタンスをスタックに追加するため、再度プッシュを実行すると、ナビゲーション スタックに 2 つの LoginViewController が作成されます。
  2. プッシュ/ポップの前にスーパービューからビューを削除します
于 2013-06-04T08:50:30.757 に答える