即使切换视图控制器,也要使文本字段中的文本保持不变

时间:2013-07-29 03:46:07

标签: ios objective-c

当我在视图控制器之间切换时,我希望能够将文本保持在文本字段中  我正在进行登录屏幕和登录。但是,如果我在另一个视图控制器中返回登录视图控制器后,登录信息就会消失(我非常确定它是因为它是视图控制器的新实例)。登记/> 我想要发生的是,如果用户输入他们的登录信息然后返回登录视图控制器,他们就不必重新输入他们的信息。

编辑:这是我的程序化segue切换视图控制器的代码:

SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
secondViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:secondViewController animated:YES completion:nil];
NSLog(@"Login SUCCESS");

3 个答案:

答案 0 :(得分:0)

将第一个控制器嵌入导航栏。接下来取出该代码并使用:

SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
[self.navigationController pushViewController:secondViewController animated:YES];

答案 1 :(得分:0)

如果您希望在程序启动时保持这种状态,那么您应该在每次更改时存储登录信息,然后在登录视图控制器加载并从中设置文本字段值时再将其读回。

您可以通过几种不同的方式存储信息:

iOS Keychain
有关如何在钥匙串中安全存储信息的示例,请参阅此SO问题:
iOS: How to store username/password within an app?

<强> NSUserDefaults的
如果您只存储用户名(而不是密码),则可以使用NSUserDefaults 看到这个问题就是一个很好的例子:
Save string to the NSUserDefaults?

答案 2 :(得分:0)

如果登录控制器是第一个控制器,即窗口的根视图控制器,除非您更改哪个控制器是根,否则不会取消分配。当您呈现和解除模态视图控制器时,不会发生这种情况。我猜你是通过另一个模态演示从SecondViewController“返回”到登录控制器。那是你在做什么的?如果是这样,那就错了,确实会创建一个新的登录控制器实例。相反,当您想要返回登录控制器时,应该关闭SecondViewController。您需要在代码中执行此操作,而不是在故事板中使用segue。