我有两个ViewControllers
,X和Y,它们都包含UITextFields
。从X开始,我在字段中输入一些文本,然后切换到Y并在字段中输入一些文本。回到X,我输入的文本仍然存在,而再次返回Y显示文本已经消失。在所有视图之间切换时,如何在TextFields
中保留文本?在UITextField中保留文本的视图
1
A
回答
1
一种可能性:删除故事板的塞格斯和实施这样的事情...
class FirstViewController: UIViewController {
lazy var secondVC: SecondViewController = {
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("SecondVC") as! SecondViewController
return vc
}()
@IBAction func buttonTapped(sender: UIButton) {
navigationController?.pushViewController(secondVC, animated: true)
}
}
1
这是因为,当你从X到Y时,Y实例被创建,并且(我猜)被推到stack UINavigationController。当你按下返回按钮时,Y实例被取消分配,X再次出现。 X实例与首次创建的X实例相同。当你再次回到Y时,它将从头开始重新创建,作为一个新实例。
可能的解决方案:
- 保持该字段的值在“根”视图控制器作为自定义对象,或字典并且通过它周围呈现VCS在
prepareForSegue
即。我的意思是控制器呈现第一页的形式或只是第一页vc - 取决于您的需求 - 将它们存储在用户默认值中在每个vc中访问
- 将它们保存在您可以访问的某个单例对象中每个控制器
相关问题
- 1. 如何在视图更改时保留UITextField文本
- 2. 更改文本视图文本时保留文本样式
- 3. 保留文本字段在模态视图控制器中
- 4. 从UIAlert内部的自定义视图保存UITextField文本
- 5. UITextField在关注时保留占位符文本
- 6. 如何在导航到不同的视图控制器并返回时保留UITextField文本?
- 7. 保留表格视图单元格的文本字段数据
- 8. 如何在子视图中保留控件文本颜色的功能?
- 9. 在文本框内保留文本
- 10. 在文本字段中保留逗号
- 11. 在MS Word宏中保留文本框
- 12. 如何在D3中保留文本框
- 13. 保留文本框的值
- 14. 在视图之间保留数据
- 15. 如何在UITableViewCell上保留子视图
- 16. 在保留原始视图的同时继承视图
- 17. 如何在富文本框中保留文本的颜色?
- 18. Xamarin.Forms保留滚动视图中间的文字放大?
- 19. 从视图中删除UITextField
- 20. 传递的UITextField文本的UILabel不同的视图控制器
- 21. textView的文本保留在一行
- 22. 如何在mvc中保留视图中的授权逻辑?
- 23. Django视图之间的保留状态
- 24. UI-Router:如何在切换视图时保留视图
- 25. AutoCompleteBox不保留文本
- 26. 文件保留脚本
- 27. 从来电视图设置UITextField的文本
- 28. Uitextfield视图翻转之间的“丢失”文本值
- 29. 传的UITextField文本从一个视图到另一个
- 30. 自定义SectionHeaderView在景观中保留在纵向视图中
你使用navigationcontroller?或者如何从X切换到Y? –
@AndreSlotta是的我正在使用NavigationController – mjr
,你如何从X到Y?你是否在故事板中创建了一个segue?或者你是否以编程方式做到这一点? –