3

UIAppearanceを使用してiOSアプリのグローバルスタイルを設定しています。ライトグレーのスタイルを想定しています。

[[UINavigationBar appearance]
    setTintColor:[UIColor colorWithWhite:0.95 alpha 1.0]
];

[[UISegmentedControl appearance]
    setTintColor:[UIColor colorWithWhite:0.90 alpha 1.0]
];

ここに画像の説明を入力してください

問題は、 UISegmentedControlの選択されたセグメント(Uno)が通常のセグメント(Dos)よりもそれほど暗くないことです。通常のセグメントはすでに適切な暗闇にありますが、選択したセグメントのみを暗くして、2つの違いがわかるようにします。色合いを暗くすると、両方が同時に暗くなるため、機能しません。

4

1 に答える 1

1

これを行う最も簡単な方法は、セグメント化されたコントローラーのサブビューのリストを繰り返し処理し、どれが選択されているかを確認することです。選択したサブビューを見つけたら、その色合いを暗く調整する必要があります。

for (int x= 0; x <[aSegementedController.subviews count]; x++) 
{
    UIBarButtonItem *subview = [aSegementedController.subviews objectAtIndex:x];
    if ([subview isSelected]) 
    {               

        [subview setTintColor:darkerColor];
    }
}

ただし、これはUIAppearanceでは機能しません。そのレベルでカスタマイズできるとは思いません。

于 2012-04-04T04:37:27.127 に答える