backgroundColor
的{{1}}属性。例如:
UIView
确保您的视图已实例化,如果它完全由xib或storyboard控制,请确保已加载视图(否则在界面构建器中设置的任何内容将成为背景颜色)。如果这不起作用,那就会发生一些奇怪的事情。继续看,这篇文章对你没用。
原帖:
我有一个带有UIView属性的NSObject。大多数情况下,我使用这个UIView来显示图片,但在某些情况下,我想设置它的背景颜色。但是,每次我尝试设置背景颜色时,颜色都保持清晰。出现任何图像或其他子视图,但背景不显示。如何更改UIView的背景颜色?以下是我的一些代码:
这是一个我需要平铺图像的示例: (这是在我将UIView添加到viewcontroller的视图后调用的函数中)
(图片是UIView属性)
myView.backgroundColor = [UIColor blueColor];
在其他情况下我也尝试过:
picture.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Tile.png"]];
在这两种情况下,背景仍然清晰。
答案 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);
干杯