選択したボタンに通常表示される色合いが、UISegmentedControl
ナビゲーション バー全体を黒に設定すると表示されません ( self.navigationController.navigationBar.tintColor = [UIColor blackColor];
)。
これはバグですか、それとも私が見逃しているものですか?
選択したボタンに通常表示される色合いが、UISegmentedControl
ナビゲーション バー全体を黒に設定すると表示されません ( self.navigationController.navigationBar.tintColor = [UIColor blackColor];
)。
これはバグですか、それとも私が見逃しているものですか?
色合いの色を表示するには、いくつかの要件があります。
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
が機能するために必要ですtintColor
。
tintColor
また、に設定されていることにも言及します[UIColor blackColor]
。残念ながら、UISegmentedControl
は選択したセグメントを常に明るい色ではなく、暗い色で表示します。に設定tintColor
してみてください[UIColor darkGrayColor]
。選択したセグメントの色が変わるのを確認できるはずです。
iphone 3.0 では、Segmented Control を NavigationController に追加する場合は、最初にそれを行い、その後、tintcolor を変更します。
ナビゲーション バーに異なる色合いが表示されている場合は、uisegmentedcontrol でモーメンタリ プロパティを使用することもできます。
segmentedControl.momentary=YES;
これにより、コントロールからハイライトの色合いがクリアされます。
tint color を使用してみてください[UIColor colorWithWhite:80.0/255.0 alpha:1.0]
。これにより、黒の色が黒くなくなり、選択したセグメントを選択後に暗くすることができます。白色成分は適宜設定できます。
サンプルコード:
UISegmentedControl *aSegmentedControl = [[UISegmentedControl alloc] initWithItems:arrItems];
aSegmentedControl.frame = CGRectMake(55, 382, 210, 32);
aSegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
aSegmentedControl.selectedSegmentIndex = 0;
aSegmentedControl.tintColor = [UIColor colorWithWhite:80.0/255.0 alpha:1.0];
セグメント化されたコントロールの色合いを個別に設定しようとしましたか?
segmentedControl.tintColor = self.navigationController.navigationBar.tintColor;
属性インスペクターで、セグメント化されたコントロール スタイルをバーまたはベゼル付きに変更します。それで全部です。