1

基本的には、4 つの画像からセグメント化されたコントローラーを作成したいと思います。

!!! 画像は、segment1_unselected、segment1_selected、segment2_unselected、segment2_selected です。

セグメントの背景が選択されている、セグメントの背景が選択されていない、セグメントの中央、左が選択されている、右が選択されていない、セグメントが中央、左が選択されていない、右が選択されている、セグメントが中央である、左と右の両方が選択されている、セグメントが中央にある場合、左と右の両方が選択されていませんが、私はそれらを持っていません。(先生がこれらの画像を提供してくれたので、私が持っている4つの画像でそれを行うことは可能だと思います)。

これで画像を追加できましたが、選択した画像を追加する方法がわかりません。

UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(13, 130, 294, 34)];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"scr1_btneveryone"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"scr1_btnfriends"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"scr1_btneveryone1"] atIndex:0 animated:NO];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"scr1_btnfriends"] atIndex:1 animated:NO];

編集:まあ、私はちょっとばかです...このためのメソッドが組み込まれていると思いました。

4

2 に答える 2

0

コメントできないので、ここに投稿します。

背景画像を変更するには、appearance プロトコルを使用できます。サンプルコード:

[[UISegmentedControl appearance] setBackgroundImage:[UIImage imageNamed:@"toggle_blue.png"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

[[UISegmentedControl appearance] setBackgroundImage:[UIImage imageNamed:@"toggle_grey.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
于 2013-07-10T13:49:09.177 に答える
0

HMSegmentedControlAKSegmentedControlなどを使用できます。

于 2013-07-10T11:25:31.750 に答える