2017-07-20 8 views
3

でクリックしたときに、私はこの質問が頻繁に聞かれると回答の多くが正しい、私は問題に直面していた中で、私のコードを持って知っています。ユーザーがボタンの背景色とテキストの色の変更をクリックするとラジオボタンが表示されます。背景色は期待どおりに変更されますが、ボタンをクリックすると文字色が青色に変わります。私はそれをクリックしたときに白の色を変えるようにコード化しましたが、ボタンをクリックすると文字の領域が青に変わり、私はミスをしているところで混乱します。私のコードは、システムにカスタムからストーリーボードで、変更ボタンテキストの色IOS

self.selectedTitleColor = [UIColor whiteColor]; 
self.selectedBackgroundColor = [UIColor redColor]; 

self.unselectedTitleColor = [UIColor blackColor]; 
self.unselectedBackgroundColor = [UIColor whiteColor]; 

- (IBAction)House:(id)sender { 

[sender setSelected: ![sender isSelected]]; 
[self.flat setSelected:NO]; 
[self.lowerP setSelected:NO]; 
[self.upperP setSelected:NO]; 
[self.farmH setSelected:NO]; 
[self.pentH setSelected:NO]; 
[self.roomB setSelected:NO]; 


[self updateButtonColors]; 

}

-(void)updateButtonColors { 
if (self.house.selected) { 
    [self.house setTitleColor:self.selectedTitleColor forState:UIControlStateNormal]; 
    [self.house setBackgroundColor:self.selectedBackgroundColor]; 

    House=_house.titleLabel.text; 
    ImageViewD = [NSString stringWithFormat:@"%@",House]; 

    NSLog(@"HHHH %@",ImageViewD); 

} else { 
    [self.house setTitleColor:self.unselectedTitleColor forState:UIControlStateNormal]; 
    [self.house setBackgroundColor:self.unselectedBackgroundColor]; 
     } 

}

enter image description here

答えて

2

変更ボタンタイプです。

enter image description here

+0

ありがとうございます。 @KKRocks –

0

ストーリーボード自体にすべての財産を与えるためにベスト。あなたは色の2枚の画像を取り、UIButtonさんbackgroundImageの状態に設定することができます。

は同じのために、画像の下にチェックしてください。

[Normal State]

Selected State

Iは方法およびそのコードの下との結合のボタンを有する:以下

- (IBAction)clicked:(id)sender { 
    UIButton *btn = (UIButton *)sender; 
    btn.selected = !btn.selected; 
} 

を私は参考のためにそれを取った画像です。

Red.png

Green.png

それはあなたを助けることを願っています。

+0

私はそれをもっと説明することができませんでしたか? @Nirmalsinh –

+0

あなたは計画色で2つの画像を撮る必要があります。私は特定の状態のために変更を加えるために赤と緑のカラー画像を撮った。また、必要なテキストの色を設定します。 – Nirmalsinh

+0

ボタンをクリックすると色がどのように変わるのですか? @Nirmalsinh –

関連する問題