iOS 7段控制背景色

iOS 7段控制背景色,ios,uiview,background,uisegmentedcontrol,uicolor,Ios,Uiview,Background,Uisegmentedcontrol,Uicolor,图片说明了一切(见箭头)。我能保证背景是透明的吗?如果我在UISegmentedControl上将背景设置为透明,它也会将按钮颜色设置为透明,但我们希望避免这种情况 澄清:我们想保持按钮的白色,但要去掉角落里的白色东西。将背景设置为白色可以做到这一点,但会使布顿背景也透明,这是我们不希望看到的 更新:在尝试了应科院的建议并将拐角半径设置为5后,现在看起来如下。尽管如此,右侧还是有一个空白。控件视图的背景色已经是透明的,因此您也需要将它们设置为您想要的任何颜色,而不仅仅是分段控件视图的背景色。

图片说明了一切(见箭头)。我能保证背景是透明的吗?如果我在UISegmentedControl上将背景设置为透明,它也会将按钮颜色设置为透明,但我们希望避免这种情况

澄清:我们想保持按钮的白色,但要去掉角落里的白色东西。将背景设置为白色可以做到这一点,但会使布顿背景也透明,这是我们不希望看到的


更新:在尝试了应科院的建议并将拐角半径设置为5后,现在看起来如下。尽管如此,右侧还是有一个空白。

控件视图的背景色已经是透明的,因此您也需要将它们设置为您想要的任何颜色,而不仅仅是分段控件视图的背景色。请记住,控制器的状态有不同的配置。

在说明之后:

试试这个:

yourSegmententControl.layer.cornerRadius = 5;

确保导入Quartz

当我显式设置UISegmentedControl的宽度时,我在右侧遇到了相同的空白问题

要解决此问题,请不要设置分段控件的宽度–只需设置每个分段的宽度即可

// Determine your segment width
CGFloat segmentWidth = 50.0;

// Loop through the segments
for (NSInteger i=0; i<mySegmentedControl.numberOfSegments; i++) {

  // Set the width of each segment
  [mySegmentedControl setWidth:segmentWidth forSegmentAtIndex:i];
}
//确定您的段宽度
CGFloat段宽度=50.0;
//在片段之间循环

对于(NSInteger i=0;iI如果我将背景设置为透明,则按钮也将变为透明,我希望保持这些白色。因此,您需要将按钮更改为白色。抱歉,这将是一个图像,而不是颜色。但可以使用您想要的颜色的1像素图像。尝试此操作,但似乎没有任何效果:UIImage*whiteImage=[UIImage ImageName:@“white.png”];[rating setBackgroundImage:whiteImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];有什么想法吗?更具体地说,它似乎会强制整个控件的背景为白色(没有斜边),并将最后一个/第一个按钮按比例挤压。这会留出一个空间(图像)按钮之间,但似乎无法解决问题。我希望修改边缘,而不是分割线。谢谢你的例子。我们的问题是我们没有直角(即,所有按钮与你的情况相同),因此失去圆角效果(如苹果的原始设计).差不多!右侧仍然是空白。请参见上文中的更新。尝试使用分段控件宽度。添加/删除两个像素似乎可以解决问题尝试此操作,但运气不佳。无论发生什么情况,它似乎都会将白色边距放在右侧。