我正在研究一个问题,我有一个ViewController,当按下按钮时打开一个popOver然后在popOver中你可以编辑一些影响母ViewController中显示的内容的设置(例如改变颜色的颜色)视图,更改地图或表格)。当popOver被解雇时,这可以被忽略,但它需要是最新的。
我尝试使用委托,我可以在其中传递数据或调用函数,但该函数不会在ViewController上启动,因为它不活动,对吧? 我也尝试了NSNotifications,但它也没有用。
我在stackoverflow上发现了类似的几个问题,但还没有真正的答案:
UIPopoverController button selecting method of another ViewController but not updating its view iOS
Refresh a WebView in a ViewController from another ViewController
有人可以用一些代码片段解释一下通用的方法如何解决这个问题?
答案 0 :(得分:1)
代表团是一个很好的解决方案。据推测,目标视图控制器仍然可以在弹出框下面看到(它不应该填满屏幕)。在这种情况下,当目标收到委托回调时,它可以进行任何更新并刷新其视图以更新UI而没有任何限制。在这种情况下,两个视图控制器(“目标”和弹出窗口)都将被归类为“活动”,因为它们都在屏幕上可见。