我面临一个小问题:
启动应用时我有类似的东西:
(1)启动视图 - >我被记录了? - > (3)HomeView |否(2)登录视图
所以当我登录时,我会转到主视图。当我退出时,我可以放松到登录视图,因为我来自它。
但是如果我没有从登录视图传递并直接重定向到主视图,我就无法在注销时退出登录视图。
有人知道这方面的解决方案吗?
答案 0 :(得分:1)
我只是把我的逻辑放在这里:
添加/添加一个viewController,例如DummyViewController
作为应用的rootViewController
。
在DummyViewController's
viewWillAppear
方法中,将逻辑设置为
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if(login == YES)
{
//go to home screen
}
else
{
// go to login screen
}
}
在DummyViewController
中,您只需要在viewWillAppear
中编写代码即可。
如果您想退出,请致电
[self.navigationController popToRootViewControllerAnimated:YES];
viewWillAppear
DummyViewController
方法会根据登录状态管理您的屏幕。
答案 1 :(得分:0)
注销完成后,您可以使用NSNotificationCenter
通知您的根类。然后弹出到rootViewController
如果您正在使用UINavigationController,请在NavigationController's
RootViewController
上显示您的登录控制器,如下所示
-(void)logoutNotification
{
logout = YES;
}
-(void)viewDidAppear:(BOOL)animated
{
if (logout)
{
AuthController * auth = [[AuthController alloc] init];
[self presentViewController:auth animated:NO completion:^{
}];
logout = NO;
auth = nil;
}
}
答案 2 :(得分:0)
可能有点虚拟的方法,但你可以简单地加载登录视图并委托给它“我已经记录了吗?”校验。您可以隐藏或使用等待标志或其他任何内容加载...这样您在注销时就已经加载了它。
没有看到你的代码,我无法告诉你如何,但我猜逻辑就足够了。