【发布时间】:2014-04-21 18:19:27
【问题描述】:
我在自定义 UISegmentedControl 时遇到问题:我已将其子类化 我正在为选定状态和未选定状态设置它的背景,如下所示:
#define kEdgeInsets UIEdgeInsetsMake(18, 18, 18, 18)
UIImage *grayImage = [[UIImage v_imageNamed:@"gray_rect"] resizableImageWithCapInsets:kEdgeInsets];
[self setBackgroundImage:grayImage
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
UIImage *greenImage = [[UIImage v_imageNamed:@"green_rect"] resizableImageWithCapInsets:kEdgeInsets];
[self setBackgroundImage:greenImage
forState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
[self setTintColor:[UIColor colorWithRed:0.506 green:0.514 blue:0.525 alpha:1.000]];
这是我正在使用的 PNG
现在,当我执行这段代码时,我在分段控件上得到了一个奇怪的阴影,这不是我们想要的。这就是输出的样子
这很奇怪,因为原始图像上没有阴影,UISegmentedControl也没有添加一个(据我所知)。
进一步检查,我注意到如果我删除了resizableImageWithCapInsets: 调用,图像看起来会失真(正如人们所预料的那样),但没有阴影。
有什么想法吗?因为我真的为此发疯了,因为我在使用resizableImageWithCapInsets: 和UIButton 时没有这个问题
非常感谢!
【问题讨论】:
标签: ios uiimage uikit uisegmentedcontrol