如何通过故事板设置UISegmentedControl背景图像?

时间:2013-08-25 15:10:01

标签: ios uiimage uisegmentedcontrol

在iOS应用程序中,我目前针对男性和女性的UISegmented Control看起来像这样:

enter image description here

现在我想更改这些段的背景图像。所以我在故事板中更改如下:

 For Segment 0:

enter image description here

 For Segment 1:

enter image description here

 After this changes,I got the result as below :

enter image description here

为什么这些图像相互重叠?任何具体原因或这些细分大小是根据图像大小?如何在不影响段大小的情况下设置段的背景图像(完整图像应显示在段的背景中而不是重叠)?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

尝试在这样的代码中进行自定义。

[self.segmentedControl setDividerImage:[UIImage imageNamed:@"style_segmented_control_delimiter.png"]
                     forLeftSegmentState:UIControlStateSelected
                       rightSegmentState:UIControlStateNormal
                              barMetrics:UIBarMetricsDefault];

  [self.segmentedControl setDividerImage:[UIImage imageNamed:@"style_segmented_control_delimiter.png"]
                     forLeftSegmentState:UIControlStateNormal
                       rightSegmentState:UIControlStateNormal
                              barMetrics:UIBarMetricsDefault];

  [self.segmentedControl setBackgroundImage:[UIImage imageNamed:@"style_segmented_control_normal_mid.png"]
                                   forState:UIControlStateNormal
                                 barMetrics:UIBarMetricsDefault];

  [self.segmentedControl setBackgroundImage:[UIImage imageNamed:@"style_segmented_control_press_mid.png"]
                                   forState:UIControlStateSelected
                                 barMetrics:UIBarMetricsDefault];

答案 1 :(得分:0)

图像重叠的主要原因是图像尺寸与图像尺寸相符。

  • 正确设置图像尺寸。例如,如果您有两个片段,请设置大小的图像(totoalWidthOfSeg / 2)。
  • 段之间可能会出现一些差距,因为我们必须设置devider图像