我正在尝试更改UIViewController
的backgroundColor
。我用viewDidLoad
方法编写了代码。我的其他对象显示在屏幕上没有任何问题,但backgroundColor
property
不起作用。屏幕为gray
。我还尝试过[UIColor redColor]
或在viewDidAppear
方法中只写这一行,但没有任何改变。
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithRed:0.15
green:0.15
blue:0.3
alpha:1.0];
//Add start button
[self.view addSubview:[self createButton:@"ButtonSample.png"
setTitleColor:[UIColor whiteColor]
buttonPositionX:(CGRectGetMidX(self.view.frame)-30)
buttonPositionY:(CGRectGetMidY(self.view.frame)+30.0)
buttonWidth:80.0
buttonHeight:20.0]];
//Add game title label
[self.view addSubview:[self createLabel:@"Vecihi"
labelFontName:@"Chalkduster"
labelFontSize:20
labelPositionX:CGRectGetMidX(self.view.frame)-25
labelPositionY:CGRectGetMidY(self.view.frame)
labelWidth:80
labelHeight:20
fontColor:[UIColor whiteColor]]];
//Add game logo imageView
[self.view addSubview:[self createImage:@"Spaceship"
imagePositionX:CGRectGetMidX(self.view.frame)-30
imagePositionY:CGRectGetMidY(self.view.frame)-80
imageWidth:40
imageHeight:60]];
}
我刚刚测试了它,在viewDidLoad中设置视图控制器的内容视图的颜色效果很好。
在我的例子中,我在内容视图中有一个视图,它占据了大部分可见区域,所以我的自定义颜色很少可见。我必须先将子视图的背景色设置为清除,然后才能看到更改后的背景色。
有没有可能你有一个子视图完全填充了你的内容视图并隐藏了它的背景色?
如果不是这样,请尝试在viewDidLoad方法中添加一个断点,以确保它被调用。