这应该很容易,但是我还无法弄清楚。
情况
视图控制器1(文本字段:text_field_1)
视图控制器2(文本字段:text_field_2)
从视图控制器1到视图控制器2之间存在“显示序列”,还包括导航控制器。
问题
在veiw控制器1中,用户在“ text_field_1”中键入内容,
然后搜索到视图控制器2,用户在“ text_field_2”中输入内容,
然后使用导航控制器返回到视图控制器1,将保留“ text_field_1”中键入的文本
然后再次搜索视图控制器2,但不会保留在“ text_field_2”中键入的文本
我想要实现的目标
有什么办法可以在“ text_field_2”中保留文本?
最佳答案
弹出视图控制器2后,这是正常的行为原因,它被释放。针对您的问题有几种解决方案:
创建一个委托以在VC2文本字段文本更改时通知VC1,将该值存储在VC1中,然后在再次触发show segue时将该值传递给VC2。在您的VC2 viewDidLoad:
方法中,检查此值是否为nil;如果不是,请设置您的text_field_2默认文本。
在VC2中,将文本字段文本保存到viewWillDisappear:
(例如)方法中的NSUserDefaults中,并在加载时检查是否可以从NSUserDefaults中检索值。如果是,请设置您的text_field_2文本值。
让我知道您是否需要解决方案1或2的源代码示例。
关于ios - 保留Textview状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29210474/