如何在UINavigationController中按后退按钮后保存UIViewController状态?

时间:2017-01-18 05:45:21

标签: ios uinavigationcontroller

示例:

  1. 在第一个视图控制器中输入您的姓名。

  2. 输入您的名字后,将导航控制器推到生日视图,您可以在其中输入您的生日。

  3. 按后退按钮到第一个视图控制器。

  4. 然后再次按下生日视图控制器,显示您之前输入的输入。

  5. 这是Snapchat的注册逻辑的一个例子。

    这怎么可能?我是否需要继承UINavigationController并修改行为?

2 个答案:

答案 0 :(得分:0)

您可以将您的生日存储在NSUserDefault中,如此

  [[NSUserDefaults standardUserDefaults] setObject:_txt_birthday.text forKey:SIGNUP_DATEOFBIRTH];

并在您的生日视图控制器中检索它

NSString *strDate = [[NSUserDefaults standardUserDefaults] objectForKey:SIGNUP_DATEOFBIRTH];

答案 1 :(得分:0)

如果您只想存储生日,则可以将其保存在NSUserDefault中。但是如果你想用更多的UI元素和值来存储控制器的整个状态,那么你应该去App State Restoration。 有这方面的教程..

  

https://www.raywenderlich.com/117471/state-restoration-tutorial

     

http://useyourloaf.com/blog/state-preservation-and-restoration/