2011-12-24 15 views
0

私はそれが可能であることができ、画像表示の背景色を変更したい、ランダムに私は背景色iphone sdkでランダムに画像ビューの背景色を変更するには?

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]; 

} 

を変更したい、このコードによって

[imageView setImage:[UIImage imageNamed:@"img1.png"]];て画像を設定したくありませんか?私はしようとしたが、[NSCFString CGColor]のエラーが発生する:。私のアプリケーションではlike this applicationを作成したいと思います。どんなボディでも私を導くことができます。

答えて

2

実際の色オブジェクトを格納するには、文字列を配列に格納しないでください。

NSArray *colorArray = [NSArray arrayWithObjects:[UIColor greenColor], [UIColor whiteColor], [UIColor redColor], nil]; 

また、ARCを使用していない場合、imageViewが漏れています。

+0

ありがとう、あなたは[そのような種類のアプリケーション](http://itunes.apple.com/us/app/flashlight./id285281827?mt=8)の作成に関する考え方はありますか?もしそうなら、それは私のためにとても役に立つでしょう。 –

+0

これはかなりオープンな質問です。ここで質問することができる具体的な疑問がある場合は、そうでない場合、あなたの心に何があるかを知ることは本当に難しいです。 – Ecarrion

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]; 

また、画像が漏れています。

//fix after adding as sub view to scroll view 
[imageView release]; 
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を設定します。

関連する問題