我有一个登录页面,一旦我登录它将带我到mkmapview
的主页。在左上角我点击一个菜单按钮slideview
将打开。这里使用名为SlideNavigationController
的库来打开leftview。在左侧视图中,我有一个注销按钮。当我单击注销按钮时,我必须打开我的登录页面。
现在,当我点击退出按钮时,它将滑出并转到主页而不是登录页面。
请在以下图片链接中查看我的项目结构
这是我目前的代码
- (IBAction)logout:(id)sender
{
HomeController *vieww=[[HomeController alloc]init];
loginController *vie=[[loginController alloc]init];
[[SlideNavigationController sharedInstance] popToRootAndSwitchToViewController:vie
withSlideOutAnimation:self.slideOutAnimationEnabled
andCompletion:nil];
}
在此将显示这样的屏幕而不是登录屏幕 device screenshot
请帮忙
答案 0 :(得分:1)
单击“注销操作”
时,尝试使用此命令转到根视图控制器- (IBAction)logout:(id)sender {
[self.navigationController popToRootViewControllerAnimated:YES];
}
答案 1 :(得分:0)
您可以使用此代码获取NSArray中的所有ViewControllers,之后您可以使用ObjectAtIndex值返回所需的位置。
NSArray *viewsArray = [self.navigationController viewControllers];
UIViewController *chosenView = [viewsArray objectAtIndex:1];//set index where you want to go back
[self.navigationController popToViewController:chosenView animated:YES];
答案 2 :(得分:0)
将您的LoggedIn
详细信息存储在NSUserDefaults
然后检入viewWillAppear
HomeViewController
方法
您必须在NSUserDefaults
的{{1}}上清除Click
并需要导航LogOut Button
例如
您正在HomeViewController
USER_ID
存储NSUserDefaults
,如下所示
[[NSUserDefaults standardUserDefaults] setValue:@“Your Value” forKey:@ “USER_ID”]; [[NSUserDefaults standardUserDefaults] synchronize];
现在在LoggedIn
HomeViewController
方法中进行了以下检查。
viewWillAppear
通过以下内容清除if([[NSUserDefaults standardUserDefaults] objectForKey:@"USER_ID"]){
//User already logged in.
}else{
// User is not logged in so need to show login page.
}
中的NSUserDefaults
。
LogOut Button Action
答案 3 :(得分:0)
希望这会对你有所帮助
有很多理由在Appdelegate中编写goToLogin
方法
-(void)goToLogin
{
yourLoginViewController *objyourLoginViewController =[[yourLoginViewController alloc]initWithNibName:@"yourLoginViewController" bundle:nil];
self.objNavigationController =[[UINavigationController alloc]initWithRootViewController:objyourLoginViewController];
self.window.rootViewController = self.objNavigationController;
}
- (IBAction)logout:(id)sender
{
[(AppDelegate *)[UIApplication sharedApplication].delegate) goToLogin];
}