我有一个ipad应用程序,它有一系列的viewcontrollers,每个都有一组uitextfields。基本上我希望能够做的是在浏览不同的视图控制器时,我希望文本保留在已编辑的每个uitextfield中。现在发生的情况是,当我离开某个视图控制器并返回时,每个uitextfield都是空的。要解决这个问题,我会调用viewWillDisappear或viewDidDisappear方法?如果是这样,我将如何让它保存每个文本字段内的信息?我想在视图控制器之间导航时在uitextfields中保存文本
1
A
回答
0
您可能会滥用shouldChangeCharactersInRange
方法并将当前输入的字符保存到额外的字符串并在切换viewcontroller后将其恢复。
更新
对于视图中每个文本框,你需要建立一个saveString和它联系起来,也许使标签值作为数组索引,那么你可以这样:
添加<UITextFieldDelegate>
类'接口定义
设置每个文本框的委托self
添加此方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *s = [textField replaceCharactersInRange:range withString:string];
NSLog(@"current textfield value '%@'", s);
// save s somwhere, e.g. to userdefaults or a DB table
return YES;
}
现在切换回以前的视图后,可以恢复每个文本字段的以前的内容。我已经放入了NSLog(),以便您可以看到何时调用此方法。
2
你刚刚做模态赛?当您想要返回到上一个视图时,只需使用[self dismissViewControllerAnimated:YES completion:nil]
,之前填入的内容仍会保留。只有当你回到最初的观点时,文本才会再出现。但是,如果由于某种原因需要继续回到初始视图,则可以将文本保存到NSUserDefaults,然后使用viewWillAppear上保存的值填充该字段。最好的做法是始终关闭viewControllers,而不是循环执行循环。
相关问题
- 1. 在导航控制器中保存视图之间的属性?
- 2. 在视图控制器之间导航?
- 3. iphone - 在UITextFields之间导航?
- 4. 保持视图在导航控制器
- 5. 在视图控制器之间导航时播放声音
- 6. 视图控制器之间在方向更改时导航
- 7. 导航控制器在视图之间切换。忽略tabbarcontroller
- 8. 在UITableViewCell内的UITextFields之间导航
- 9. 在视图控制器和表格视图控制器之间的导航控制器
- 10. 导航控制器呈现在视图上我导航到
- 11. iPhone SDK:视图控制器之间的导航导致崩溃
- 12. 4个视图控制器之间的简单定制导航
- 13. iOS - 在视图控制器之间保存敏感数据
- 14. 在视图控制器中使用导航控制器
- 15. 在视图控制器中实现导航控制器
- 16. 在新的导航控制器中嵌入视图控制器
- 17. Swift:我想导航到几个视图控制器
- 18. 在ios7导航视图控制器中移动导航栏
- 19. 在故事板之间保持导航控制器(swift)
- 20. 在一个视图控制器和UAModalPanel之间保留视图
- 21. 从导航控制器导航到正常视图控制器
- 22. 导航栏和视图控制器内容之间的差距
- 23. 导航视图控制器之间没有故事板/ xibs
- 24. 视图控制器之间的iOS复杂导航
- 25. 两个视图控制器之间的导航
- 26. 从导航栏视图控制器导航到标签栏视图控制器
- 27. 在主从应用程序中的视图控制器之间的导航
- 28. 嵌入导航控制器隐藏在视图控制器导航项目
- 29. 试图在不重新加载控制器的状态/视图之间导航
- 30. 我如何清除导航控制器在ios中的视图
感谢您的评论。原谅我,但你能给我一个小例子来说明如何做到这一点?这个概念对我来说是100%新的 – Taylor
@泰勒我已经添加了一个例子。 –
谢谢,这正是我需要的!非常感激 – Taylor