我正在尝试从子视图(SettingsViewController.h
)内的按钮注销。所以我从LogInViewController.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
,它就不会删除任何视图,但我不知道如何删除“设置”视图。请帮忙?谢谢!
答案 0 :(得分:0)
popToViewController: animated:
或popViewControllerAnimated:
方法返回.Push将新的VC实例添加到堆栈中,因此在再次执行推送后,您在导航堆栈中有两个LoginViewController。