2011-09-06 31 views
0

私は12個のUIButton(各行に3つずつ4行)を持っています。私はUIButtonの12個全てに共通の背景色を作りたいと思います。一般的な背景色は、すべてのUIButtonの背景色と異なる色にする必要があります。私はInterface Builderでこれらのボタンを作成していますので、そこに共通の背景を作成したいのが理想ですが、それが不可能な場合はInterface BuilderでUIButtonを作成し続ける限り、 Interface Builderの外で共通の背景をコーディングしています。私はInterface Builderで大きなUILabelを作成することでこれを試みましたが、ボタンの裏にUILabelを保持できませんでした。共通の背景は、ボタンの後ろにとどまる必要があります。あなたが提供できるお手伝いをありがとう。複数のUIButtonの色の背景を作成できますか?

+0

あなたの質問は、 'UIButton'の背景と' UIButton'が置かれている 'UIView'の背景を混同しているようです。 – PengOne

+0

いいえ、私はそうは思わない。私はその違いを理解しています。問題は、UIView全体がこの背景色を持つことを望まないということです...その一部だけ... UIButtonsがある部分。 UIButtonsの背景色は、周囲の色と異なる必要があります。 – reid55

+0

全体の 'UIView'には' backgroundColor'が1つしかありません。それぞれの 'UIButton'は唯一の' backgroundColor'を持っています。 'UIView'の一部だけに特定の色を付けるには、別の' UIView'を上に置き、その色を変更する必要があります。それ以外の場合は、以下の両方の回答がどのように進めるかを教えてください。 – PengOne

答えて

0

IBではなく、プログラムでこれを行う必要があります。

12個のボタンのIBOutletを作成できます。これにより、ビューコントローラからアクセスできます。

その後、viewDidLoad方法では、単にUIColorオブジェクトを作成し、あなたのボタンのbackgroundColorプロパティとして設定:正直なところ

self.view.backgroundColor = [UIColor redColor]; 

button.backgroundColor = [UIColor blueColor]; 

あなたがすべきである:あなたのビューコントローラで

- (void)viewDidLoad 
{ 
    UIColor * bgColor  = [ UIColor redColor ]; 
    button1.backgroundColor = bgColor; 
    button2.backgroundColor = bgColor; 
    button3.backgroundColor = bgColor; 
    /* ... */ 
} 
+0

IBでUIButtonの背景色を設定しました。それは問題ではありません。 – reid55

0

IBでこれをすべて行うことができます。あなたはUILabelなどのものは必要ありません。親ビューと各ボタンの背景色を設定するだけです。ビューの順序付けが行われる限り、ビューにリストされたアイテムは、先頭から順に表示されます。ツリーの下部にあるアイテムは、それらの上に表示されている他のビューの上に表示されます。

+0

問題は、UIView全体がこの背景色を持つことを望まないということです。その一部だけです... UIButtonsがある部分。 UIButtonsの背景色は、周囲の色と異なる必要があります。私はあなたが「木の底」という意味を理解しているとは思わない。 IBの木の底を決定するのは何ですか? – reid55

関連する問題