2011-02-05 4 views
3

UIButtonのテキストの色を変更する方法を教えてください。ここに私の現在のコードは次のとおりです。ここでUIButtonの色の問題

UIButton *b1 = [[UIButton alloc] init]; 
    b1.frame = CGRectMake(280,395,30,30); 
    [[b1 layer] setCornerRadius:8.0f]; 
    [[b1 layer] setMasksToBounds:YES]; 
    [[b1 layer] setBorderWidth:1.0f]; 
    [[b1 layer] setBackgroundColor:[botCol CGColor]]; 
    b1.titleLabel.font = [UIFont boldSystemFontOfSize:24]; 
    [b1 setTitleColor:[UIColor redColor] forState:UIControlEventAllEvents]; 
    [b1 addTarget:self action:@selector(NextButtonPressed:) forControlEvents:UIControlEventTouchUpInside]; 
    [b1 setTitle:@">" forState:UIControlStateNormal]; 
    [self.view addSubview:b1]; 

が(背景色やものを無視する)、それは次のようになります。

enter image description here

、どのように私は矢印が赤にして得ることができますか?上記のように、私はすでに以下を持っています:

[b1 setTitleColor:[UIColor redColor] forState:UIControlEventAllEvents]; 

しかし、それは動作していません。あなたはUIControlEventsパラメータの代わりに、UIControlStateパラメータを渡したので、あなたの元のコードが働いていなかった理由がある

[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 

答えて

8

は、以下のような個々のイベントを、設定してみてください。

[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 

これは、通常の状態の色を設定し、他の状態の色を設定しない限り、すべての状態にわたって維持されます。

[b1 setTitleColor:[UIColor blueColor] forState:UIControlStateSelected]; 
+0

完璧:他の状態の色を変更するには、単に他の州(UIControlStateNormalUIControlStateHighlightedUIControlStateDisabledUIControlStateSelected)と同じメソッドを呼び出します。ありがとう。 – CodeGuy

+0

@reising:それはうまくいった。 :) –

+0

今、ユーザーがボタンをタッチしたときに背景を白にしたいのですが?コードはどのように見えますか? – CodeGuy