12

選択したボタンに通常表示される色合いが、UISegmentedControlナビゲーション バー全体を黒に設定すると表示されません ( self.navigationController.navigationBar.tintColor = [UIColor blackColor];)。

これはバグですか、それとも私が見逃しているものですか?

4

6 に答える 6

60

色合いの色を表示するには、いくつかの要件があります。

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

が機能するために必要ですtintColor

tintColorまた、に設定されていることにも言及します[UIColor blackColor]。残念ながら、UISegmentedControlは選択したセグメントを常に明るい色ではなく、暗い色で表示します。に設定tintColorしてみてください[UIColor darkGrayColor]。選択したセグメントの色が変わるのを確認できるはずです。

于 2010-01-21T06:30:39.133 に答える
2

iphone 3.0 では、Segmented Control を NavigationController に追加する場合は、最初にそれを行い、その後、tintcolor を変更します。

于 2010-09-03T19:53:37.337 に答える
2

ナビゲーション バーに異なる色合いが表示されている場合は、uisegmentedcontrol でモーメンタリ プロパティを使用することもできます。

segmentedControl.momentary=YES;

これにより、コントロールからハイライトの色合いがクリアされます。

于 2013-03-07T08:17:39.380 に答える
2

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];
于 2010-02-19T18:21:41.910 に答える
2

セグメント化されたコントロールの色合いを個別に設定しようとしましたか?

segmentedControl.tintColor = self.navigationController.navigationBar.tintColor;
于 2009-12-12T19:43:31.687 に答える
1

属性インスペクターで、セグメント化されたコントロール スタイルをバーまたはベゼル付きに変更します。それで全部です。

于 2012-07-19T23:12:01.870 に答える