2013-01-06 15 views
0

我正在创建一个UISegmentedControl与每个段的自定义图像。编程,这与我一起工作:自定义UISegmentedControl问题(以编程方式和界面生成器)

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(30, 0, 170, 31)]; 
segmentedControl.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"ebd-toolbar-bg"]]; 
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"eatIcon"] atIndex:0 animated:NO]; 
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"buyIcon"] atIndex:1 animated:NO]; 
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"doIcon"] atIndex:2 animated:NO]; 
segmentedControl.contentMode = UIViewContentModeScaleToFill; 
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 

然而,段的自定义图像并不完全填满段和背景显示了一点。问题是背景图像没有相同的颜色,所以看起来很奇怪,如下所示。您可以在每个细分周围看到一点黑色。

this

我尝试使用UIViewContentModeScaleToFill但这并不工作。有没有方法可以设置细分受众群的图片大小?如果是这样,怎么样?它的尺寸是多少?

回答

0

尝试使用- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets方法。 你的情况可能是:

[segmentedControl insertSegmentWithImage:[[UIImage imageNamed:@"eatIcon"] resizableImageWithCapInsets:UIEdgeInsetsMake(0,10,0,10)] atIndex:0 animated:NO]; 

请注意,你需要确定的UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);功能的正确值

相关问题