2012-10-17 16 views
5

セグメント化されたコントロールで選択されたセグメント化の色をカスタマイズ/変更する方法はありますか?私はUISegmentedControl selected segment colorで利用可能なメソッドを使用しようとしました。 iOS 5以降では正常に動作しましたが、iOS 6では正常に動作しませんでした。セグメント化されたコントロールで選択されたセグメント化された色をカスタマイズする

基本的には、選択したセグメントの色を明るい色に変更して、選択/非選択のセグメントがはっきりと見えるようにしたいと考えています。

答えて

3

特定のビューのサブクラスをオーバーライドしてから、画面上のカスタム表示のdrawRect()メソッドをオーバーライドできます。

+0

ありがとうございました。 – user1140780

4

私たちはsiddarthで述べたアプローチを使用しました。

セグメント化されたコントローラをサブクラス化し、drawrect()メソッドをオーバーライドします。このようなもの:

- (void)drawRect:(CGRect)rect 
{ 
[super drawRect:rect]; 

for (int i=0; i<[self.subviews count]; i++) 
{ 
    if ([[self.subviews objectAtIndex:i]isSelected]) 
    { 
     UIColor *tintcolor=[UIColor redColor]; 
     [[self.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    } else { 
     UIColor *tintcolor=[UIColor grayColor]; // default color 
     [[self.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    } 
    } 

} 
関連する問題