1

所以基本上,我想用四个图像创建一个分段控制器。

!!!图像是: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];

编辑:嗯,我有点愚蠢......我所做的是我自己编写了“更改图像(也就是选择一个片段),方法是创建一个对 ValueChanged 的​​操作,然后使用 setImage:forSegmentAtIndex:我已经更改了图像周围。我只是认为有一些内置的方法。

4

2 回答 2

0

无法评论,所以在这里发帖。

您可以使用外观协议来更改背景图像。一些示例代码:

[[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 回答