我是iOS开发的新手,正在开发我的第一个应用程序。我的应用程序有3个主要视图,第一个是登录屏幕(允许用户登录到Web服务),第二个是提交屏幕(允许用户向Web服务提交内容),最后一个是设置视图(除其他外,它允许用户注销应用程序)。
我将用户凭据存储在Keychain中作为良好做法,以便用户可以保持登录状态,通常当他们打开应用程序时,他们可以转到提交内容页面。因此,提交视图基本上是我的主要观点。
要访问设置,我在提交视图上有一个小齿轮按钮,可以将用户带到设置页面。在设置页面上,我有一个注销按钮,用于从钥匙串中删除您的用户名和密码。
因此,如果您已退出应用程序,我希望后退按钮将您带到登录视图,否则它会将您带回提交视图,但我似乎无法控制后退按钮所需的内容用户。
我知道苹果指南说不要做这样的事情,但这似乎是一个明显的设计选择。如何在导航栏上覆盖后退按钮的操作?
答案 0 :(得分:0)
只需隐藏导航栏并放置自定义导航栏并编写您想要按的名称,然后使用[self.navigationController popViewControllerAnimated: YES];
提供后退按钮操作或选择您想要的任何视图控制器..
OR
您只需创建NavigationController的子类和override
方法popViewControllerAnimated:
答案 1 :(得分:0)
您可以轻松地在用户默认值而不是钥匙串中保存用户信息。 用户登录时添加此
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UserAlreadyRegister"];
当用户注销时添加此
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"UserAlreadyRegister"];
视图中的以下代码确实出现在您的提交视图中
-(void)viewDidAppear:(BOOL)animated{
BOOL alreadyRegister = [[NSUserDefaults standardUserDefaults] boolForKey:@"UserAlreadyRegister"];
if (alreadyRegister){
[self.navigationController popViewControllerAnimated:YES];
}
}