切换到场景 B 的场景 A 怎么知道用户啥时候完成了场景 B,而场景 A 又重新显示了呢?
Posted
技术标签:
【中文标题】切换到场景 B 的场景 A 怎么知道用户啥时候完成了场景 B,而场景 A 又重新显示了呢?【英文标题】:How can scene A, who segues to scene B, know when the user has finished with scene B, and scene A is displayed again?切换到场景 B 的场景 A 怎么知道用户什么时候完成了场景 B,而场景 A 又重新显示了呢? 【发布时间】:2014-07-05 06:40:55 【问题描述】:这应该很简单,但由于某种原因我无法解决。
场景 A,pushSegue 到场景 B。一切正常,用户点击场景 B 顶部的导航项,返回场景 A。
我怎样才能让场景 A 知道这一点? (想法是,用户在场景 B 中更改了一些参数,这意味着场景 A 必须重新绘制自己)。
我读过一些关于 unwind segues 的文章,但我认为这并不能解决我的问题,由于我猜导航控制器机制,返回已经可以工作,并且使用 unwind segues 的两种方法似乎没有用我没有一个按钮来连接 unwind segue 方式(只是一个在运行时包含返回按钮的导航项),我不需要以编程方式触发它。
有什么想法吗?
【问题讨论】:
【参考方案1】:当 B 从堆栈中弹出时,A 将获得 viewDid/WillAppear:
调用。理想情况下,B 将更新一个独立的模型对象,因此它不必直接与 A 交谈来让它知道。
如果您需要更具体的控制,请将 A 设为导航控制器的委托。然后它将通过作为参数传递的实际视图控制器获得有关特定推送/弹出事件的通知。
你也可以在推送之前从 A 向 B 传递块,在重要的事情发生变化时执行,或者让 A 成为 B 的代表。
【讨论】:
以上是关于切换到场景 B 的场景 A 怎么知道用户啥时候完成了场景 B,而场景 A 又重新显示了呢?的主要内容,如果未能解决你的问题,请参考以下文章