设置UIVIew的背景颜色

时间:2011-09-26 23:38:36

标签: iphone objective-c ios uiview

编辑:人们一直在访问这篇文章,这篇文章没有太多好消息,所以我会把它放在这里帮助你们: 尝试设置backgroundColor的{​​{1}}属性。例如:

UIView

确保您的视图已实例化,如果它完全由xib或storyboard控制,请确保已加载视图(否则在界面构建器中设置的任何内容将成为背景颜色)。如果这不起作用,那就会发生一些奇怪的事情。继续看,这篇文章对你没用。

原帖:

我有一个带有UIView属性的NSObject。大多数情况下,我使用这个UIView来显示图片,但在某些情况下,我想设置它的背景颜色。但是,每次我尝试设置背景颜色时,颜色都保持清晰。出现任何图像或其他子视图,但背景不显示。如何更改UIView的背景颜色?以下是我的一些代码:

这是一个我需要平铺图像的示例: (这是在我将UIView添加到viewcontroller的视图后调用的函数中)

(图片是UIView属性)

myView.backgroundColor = [UIColor blueColor];

在其他情况下我也尝试过:

 picture.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Tile.png"]];

在这两种情况下,背景仍然清晰。

7 个答案:

答案 0 :(得分:8)

您是在分配和初始化上面提到的UIView吗?问题应该是你很可能忘记为UIView做的那张照片。

试试吧:

picture = [[UIView alloc] initWithFrame:CGRectMake(10,10,200,200)];
picture.backgroundColor = [UIColor redColor];

假设图片已在接口文件中声明为UIView类型的iVar。

答案 1 :(得分:2)

alpha的有效范围为0.0到1.0。您将其设置为50,请尝试1:

picture.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:1];

答案 2 :(得分:2)

如果您擅长使用RGB值,可以使用

picture.backgroundColor = [UIColor colorWithRed:0 green:1 blue:1 alpha:1];

否则使用 UIColor 设置背景颜色

picture.backgroundColor = [UIColor greenColor];

答案 3 :(得分:0)

我不确定问题是什么,虽然我知道这不是你回答的问题之一,但是上次我开始研究这个问题时我注意到它有效。无论如何,谢谢你的帮助。

答案 4 :(得分:0)

可能值得检查您是否正在更改主线程上的背景颜色。如果更改调度队列(主队列除外)中的背景颜色,有时它可能不会反映在UI外观中。

答案 5 :(得分:0)

可以使用属性检查器来更改颜色。选择“背景”的颜色。

答案 6 :(得分:-1)

您的代码似乎完全有效,它应该更改背景颜色。您可能需要仔细检查picture.opaque属性是否设置为YES(除非您的代码更改它,否则它是默认值)。但更可能的问题是视图的框架大小为零。我建议验证这一点。例如,通过记录它:

    NSLog(@"Frame size: width=%f, height=%f", picture.frame.size.width, picture.frame.size.height);

干杯