在模态视图表单下更新视图

时间:2012-01-20 15:22:49

标签: ios ipad uimodalpresentationstyle

所以,我有一个按钮的视图。我点击此按钮,出现“Form Sheet”样式的模态视图。在那里我做了一个改变,并且由于这个改变,我们的第一个视图的背景颜色与按钮(现在在模态视图后面)必须改变。问题是,怎么做?

2 个答案:

答案 0 :(得分:1)

底层页面的viewcontroller仍然存在,仍然可以在其视图上执行代码。视图可能会被卸载,因为它不在屏幕上,但是viewcontroller.view是一个懒惰的构造函数,因此在它上面设置属性将导致它无论如何都会被重新创建。

技巧是如何与底层视图控制器进行通信。处理跨视图控制器通信的一种好方法是使用NSNotificationCenter发布NSNotification。

设置背景视图控制器以观察名为“BackgroundColorChangedNotification”的通知,然后从模态窗体视图控制器发布带有该名称的通知。

这种方法的优点是,如果应用程序中的任何其他控制器需要知道这个更改,他们都可以只注册通知,并且这些控制器都不需要知道彼此的任何信息,因此您的代码是很好地解耦。

答案 1 :(得分:0)

Self.view.parent View将允许您访问第一个视图

然后,您可以使用setBackgroundcolor方法

更改其背景