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

时间:2010-01-04 08:52:39

标签: iphone objective-c

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

4 个答案:

答案 0 :(得分:19)

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

self.view.backgroundColor = [UIColor redColor];

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

self.parentViewController.view.backgroundColor = [UIColor redColor];

如果无法做到这一点,那么你可以在创建第二个视图控制器时在第二个视图控制器上设置一个iVar,它包含你要更改背景颜色的viewController实例。

MyViewController* secondViewController = [[MyViewController alloc] init];
secondViewController.bgColorNeedsChangingViewController = self;

然后在secondViewController的逻辑

self.bgColorNeedsChangingViewController.view.backgroundColor = [UIColor redColor];

答案 1 :(得分:8)

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;

改编自Frank Shearar的回答。

答案 2 :(得分:2)

UIViewController *yourVC;
UIColor *colour = [[UIColor alloc] initWithRed: 1.0 green: 0.0 blue: 0.0 alpha: 1.0];
[yourVC.view.backgrounColor] = colour;
[colour release];

答案 3 :(得分:0)

要更改视图的 背景颜色 ,请使用以下一行代码

self.view.backgroundColor = UIColor (red: 1.0, green: 1.0, blue: 0.5, alpha: 1.0)

红色,绿色,蓝色和alpha值的变化btw 0到1

你也可以把它写成

self.view.backgroundColor = UIColor (red: 123.0/255.0, green: 200.0/255.0, blue: 90.0/255.0, alpha: 1.0)

这是整个配色范围。