2011-09-26 23 views
5

EDIT:この記事をよく訪れていない人々は多くの人に役立ちます。 UIViewbackgroundColorプロパティを設定してみてください。UIVIewの背景色を設定する

myView.backgroundColor = [UIColor blueColor]; 

することになるだろうインターフェイスビルダーで設定されているそれ以外のものは何でも(あなたのビューがインスタンス化されていることを確認し、それがすべてでXIBやストーリーボードによって制御されている場合、ビューがすでにロードされていることを確認します。たとえば、背景色)。それがうまくいかない場合、何か変なことが起こっている。探していると、この投稿はあなたを助けません。

オリジナルポスト:

私はUIViewプロパティを持つNSObjectを持っています。ほとんど私は画像を表示するために、このUIViewを使用しますが、場合によっては、その背景色を設定したいと思います。しかし、背景色を設定しようとするたびに、色は明瞭にとどまります。画像やその他のサブビューは表示されますが、背景は表示されません。 UIViewの背景色を変更するにはどうすればよいですか?ここ

私はタイル張りの画像を必要とする例である:ここに私のコードのいくつかはある

(画像はUIViewのプロパティである(これは私がのViewControllerのビューへのUIViewを追加した後に呼び出される関数です) )

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

私はまた、他の例で試してみました。どちらの場合も

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

は、背景が透明なまま。

+0

これはまだ私が探していた背景を設定して解決しました:) –

答えて

0

私はそれがあなたが答えた問題の一つではなかったことは分かっていますが、問題が何であるか分かりませんが、最後に問題に取り組むために私は気づきました 仕事をしていました。とにかく助けてくれてありがとう。

7

上記のUIViewを割り当てて初期化していますか?問題は、あなたが最も興味深いのは、UIViewの画像のためにそれをすることを忘れてしまったことです。

ただ、試してみてください。

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

をその画像がすでにインターフェイスファイルにタイプのUIViewのIVARを宣言されていると仮定。

+0

ありがとうございますが、これは前に呼び出された関数に割り当てられています。 – WolfLink

2

alphaの有効範囲は0.0〜1.0です。あなたはそれが50に設定されている、代わりに1を試してください:あなたはRGB値を使用して優れている場合は、

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

を使用することができます

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

アルファに問題はありません。それは問題を引き起こしていません。 OPが指定したものに設定するだけで、明るい青色が得られます。 – Bourne

+0

私は50の代わりに0.5を意味しました。また、50を入れてもクラッシュすることはありません。同じように動作します。 – WolfLink

+0

@Wolflinkあなたの質問はクラッシュしているとは言いませんでした。例外が発生した場合は、そう言いました。 – progrmr

1

はそうでない場合backgound

の色を設定する UIColorを使用します
picture.backgroundColor = [UIColor greenColor]; 
+0

私は[UIColor colorWithPatternImage:[UIImage imageNamed:@ "Rope.png"]]のようなものをもっと考えています。私は問題の可能性を排除しようと簡単に始めています。 – WolfLink

+0

colorWithPatternImageを使用する場合、リークが発生する可能性があります。 – Anand

0

メインスレッドの背景色を変更するかどうかを確認することはおそらく役に立ちます。ディスパッチキュー(メインキュー以外)の背景色を変更すると、UI外観に反映されないことがあります。

-1

コードは完全に有効と思われ、背景色が変わるはずです。picture.opaqueプロパティがYESに設定されていることを再度確認したい場合があります(コードが変更しない限り、デフォルト値です)。しかし、より大きな問題は、ビューのフレームにサイズがゼロであることです。私はこれを確認することをお勧めします。例えば、それをロギングすることで:

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

乾杯

0

は、変更色の属性インスペクタを使用することができます。 「背景」の色を選択します。

関連する問題