【问题标题】:iOS 7: Segmentedcontrol won't display image coloursiOS 7:Segmentedcontrol 不会显示图像颜色
【发布时间】:2013-11-12 00:57:45
【问题描述】:

我得到了这个分段控件,但它不能正确显示我的图像:( 圆圈必须是绿色、黄色和红色。 看截图就明白了:D

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

这适用于 iOS 6..

【问题讨论】:

  • 您是否在设置全局色调...?由于网络限制,我无法看到您的附件。请详细说明。
  • 我认为我没有设置任何全局色调颜色。我只是在我的项目中添加了 3 个圆圈,然后在每个部分中选择了它们。顺便说一句。不仅仅是圆圈变成蓝色。我尝试了其他一些图像,但有同样的问题:(
  • 我会在开放网络上再次看到这个...

标签: ios xcode ios7 xcode5 uisegmentedcontrol


【解决方案1】:

在 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];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多