背景 - 因此,就高层的方法而言,对我来说似乎是:
- 在执行一系列 UINavigationController 级别时保存/保留设置 - 因此当最初开始更改设置或创 build 置时,将需要一组默认值 - 即在应用程序死机的任何时间点设置将有效
- 边走边保存更改,一旦您从屏幕的 UINavigationController 树中返回(设置了所有设置),就会有一个可以保存的点
这个问题的重点是我试图实现的选项 2。
计划 - 在设置类型 UINavigationController 中,当 subview 被推送到堆栈时,我打算将一部分设置的现有(或默认)详细信息从父 View 传递到 subview 。问题是当这些数据被更新时,假设我想坚持使用默认的后退按钮,似乎没有办法拦截默认的后退按钮,所以当我准备好将 child 从堆栈中弹出时就在这之前,我将调用一个委托(delegate),它将最新设置传回给父级。
问题 - 当使用 UINavigationController 并希望坚持使用默认的后退按钮(带有左箭头的东西)时,如何将更新后的数据从子 Controller 传递回父 Controller 。
也就是说,我想可能我不知道如何传回数据(我将使用委托(delegate)),而是如何在子 Controller 中的正确时间点连接到回调方法以便然后使用委托(delegate)方法将数据传回。
最佳答案
使用 Delegate 可能是适合您的解决方案。
可以找到教程:
http://timneill.net/2010/11/modal-view-controller-example-part-2/
这对我很有帮助。
编辑:
- 听起来你需要自己制作一个后退按钮,信息:
UINavigationController "back button" custom text?
然后添加方法:
[self.navigationController popViewControllerAnimated:YES];
返回上一个 View 。然后,您可以将自己的代码添加到该后退按钮。
- 更简单的解决方案:实现“viewWillDisapper”方法。
每次按下后退按钮时都会调用此方法。但要注意它是否转到另一个 View 而不是返回。
关于iphone - 使用 UINavigationController 和默认后退按钮时如何将数据传回父 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546662/