1

我得到了这个segmentedcontrol,但它不能正确显示我的图像:(圆圈需要是绿色、黄色和红色。看截图来理解:D

如果您知道我做错了什么或遗漏了什么,请回答:) 谢谢!

这适用于iOS 6 ..

选择绿色圆圈的绿色

它只显示蓝色圆圈?

4

1 回答 1

6

在 iOS 7 下,图像被用作蒙版,然后使用标准的 iOS 7 着色机制(很像UIToolbar图标)着色。

我不知道如何在 Interface Builder 中进行设置,但代码中的解决方案是设置每个图像以原始格式呈现,如下所示:

UIImage *correctImage = [[UIImage imageNamed:@"someName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

然后将此图像与分段控件一起使用。

一种选择是在viewDidLoad方法中更新分段控件,如下所示:

NSUInteger count = control.numberOfSegments;
for (NSUInteger i = 0; i < count; i++) {
    UIImage *original = [control imageForSegmentAtIndex:i];
    UIImage *fixed = [original imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [control setImage:fixed forSegmentAtIndex:i];
}
于 2013-11-11T16:57:45.127 回答