我想随意更改图像视图的背景颜色,我不想通过
设置图像 [imageView setImage:[UIImage imageNamed:@"img1.png"]];
此代码我想更改背景颜色
NSArray *colorArray = [NSArray arrayWithObjects:@"[UIColor greenColor]",@"[UIColor whiteColor]",@"[UIColor redColor]",nil];
// add all of the images to the scroll view
for (int i = 1; i < 5; i++)
{
imageView = [[UIImageView alloc] init];
[imageView setBackgroundColor:[colorArray objectAtIndex:i-1]];
[self.scrollView addSubview:imageView];
}
有可能吗?我试过,但我得到[NSCFString CGColor]的错误:在我的应用程序中,我想创建like this application。任何人都可以指导我。
答案 0 :(得分:2)
您不应该在数组中存储字符串,存储实际的颜色对象。
NSArray *colorArray = [NSArray arrayWithObjects:[UIColor greenColor], [UIColor whiteColor], [UIColor redColor], nil];
此外,如果您不使用ARC,则您的imageView正在泄露。
答案 1 :(得分:1)
如果你需要一组固定的4种颜色的随机颜色,你应该存储Ecarrion答案中提到的颜色。然后你可以从中选择一种随机颜色。如果你真的想要一个更大的集合中的随机颜色,你可以使用
CGFloat green=(arc4random()%100) *.01;
CGFloat blue=(arc4random()%100) * .01;
CGFloat red=(arc4random()%100) *.01;
UIColor *imageBgColor=[UIColor colorWithRed:red green:green blue:blue alpha:1];
[imageView setBackgroundColor:imageBgColor];
此外,您的imageView正在泄露。
//fix after adding as sub view to scroll view
[imageView release];
答案 2 :(得分:0)
float red = arc4random() % 255 / 255.0;
float green = arc4random() % 255 / 255.0;
float blue = arc4random() % 255 / 255.0;
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
[Yourimageview setBackgroundColor:color];
生成随机颜色R,G,B并在背景中设置Imagview。