如何在objective-c中更改viewController的背景颜色

utt*_*tam 14 iphone objective-c

如何从应用程序中的其他控制器更改视图控制器的背景颜色?

Lia*_*iam 20

要更改"视图"的背景颜色,您需要在其上设置backgroundColor属性.这意味着您可以访问它.如果它只在一个控制器中你就可以使用

self.view.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)

如果它在导航或类似的应用程序中,那么您可以访问视图parentViewController并更改其上的颜色,如下所示:

self.parentViewController.view.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)

如果这不可能,则可以在创建第二个视图控制器时在第二个视图控制器上设置iVar,该控件包含要更改背景颜色的viewController实例.

MyViewController* secondViewController = [[MyViewController alloc] init];
secondViewController.bgColorNeedsChangingViewController = self;
Run Code Online (Sandbox Code Playgroud)

然后在secondViewController的逻辑中

self.bgColorNeedsChangingViewController.view.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)


use*_*829 9

UIColor *colour = [[UIColor alloc]initWithRed:57.0/255.0 green:156.0/255.0 blue:52.0/255.0 alpha:1.0];
self.view.backgroundColor = colour;
Run Code Online (Sandbox Code Playgroud)

改编自Frank Shearar的回答.