10

したがって、セグメント化されたコントロールの背景色を設定するための次のコードがあります。

UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 150, 35)];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"icon-home.png"] atIndex:0 animated:NO];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"icon-star.png"] atIndex:1 animated:NO];

セグメントをクリックすると青いボタンが強調表示されることを除いて、すべて正常に機能します。このハイライトを無効にするにはどうすればよいですか?これが私の問題のスクリーンショットです:

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

4

2 に答える 2

15

UISegmentControlには、2つのセグメント間にディバイダーがあります。次のコードを使用すると、仕切りの背景を変更できます。

[segmentedCtrl setDividerImage:[UIImage imageNamed:@"divider_selected.png"] forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setDividerImage:[UIImage imageNamed:@"divider_normal.png"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

ここで、divider_selected.pngは、選択された状態に使用した画像です。一方、divider_normal.pngは、通常の状態で使用した画像です。

これがお役に立てば幸いです。

于 2012-05-25T12:00:50.933 に答える
2

ハイライトされた状態に同じ背景画像を設定します。

[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
于 2012-05-24T15:23:06.373 に答える