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 在两个段之间有一个 Divider。通过使用以下代码,您可以更改分隔线背景。

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