2010-01-05 49 views
1

我正在将背景颜色从单个视图控制器更改为所有其他视图控制器。 但它只在我开始使用单个控制器时才起作用。 如果我开始与任何其他控制器,然后我没有得到该控制器的背景更改。
我虽然这样做,因为如果我开始与其他控制器,其init方法被调用,并且改变,我从单个控制器调用后去其他控制器不会出现其他控制器。如何每次重新启动视图控制器

那么我们如何重新启动另一个控制器,以便其他控制器中也可以显示更改。

+0

在你的init方法,你通过直接设置视图对象的backgroundColor属性改变颜色? – Anurag 2010-01-05 12:12:01

+0

我这样做,其中color1是全球性的,我从单个控制器在此控制器中更改 - (void)viewDidUnload { \t //发布主视图的任何保留子视图。 \t //例如self.myOutlet = nil; \t UIColor * color1 = color2; \t self.view.backgroundColor = color1; \t } – uttam 2010-01-05 12:29:56

回答

3

您不应该重新初始化已经初始化的对象。

我认为你应该考虑使用viewWillAppear方法,当视图变为活动状态时调用它。

- (void)viewWillAppear:(BOOL)animated 

退房苹果的文档 here

+0

感谢它的工作背景颜色 – uttam 2010-01-05 12:42:35

相关问题