【问题标题】:Incorrect tint for selected segment of UISegmentedControl on iOS 7iOS 7 上 UISegmentedControl 的选定段的色调不正确
【发布时间】:2013-09-20 04:17:58
【问题描述】:

我在 UIToolbar 中有一个 UISegmentedControl 自定义背景/分隔线图像。在 iOS 6 中,这显示正确,但在 iOS 7 中,所选片段将该片段的前景图像显示为切口(显示下方的工具栏),而不是其他片段显示为白色。

关于我是否缺少某些东西以使其按预期运行有什么想法吗?

在任何人说之前,我不会使用默认的 iOS 7 UISegmentedControl 外观,因为我觉得它很丑。

【问题讨论】:

    标签: ios objective-c ios7


    【解决方案1】:

    没关系。我在发帖后不久就想通了。

    UISegmentedControl 将其图像解释为处于渲染模式 UIImageRenderingModeAlwaysTemplate 除非另有说明。

    我必须在每个段的图像上使用 -[UIImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] 来获得 iOS 7 以实现之前的行为。

    【讨论】:

    【解决方案2】:

    使用此代码在带有 xCode 5 的 iOS 7 中的 Segment Control 上设置图像

    if ([UIImage instancesRespondToSelector:@selector(imageWithRenderingMode:)]) {
    
        [segmentControl setImage:[[UIImage imageNamed:@"image.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forSegmentAtIndex:0];
    
    }
    else {
        [segmentControl setImage:[UIImage imageNamed:@"image.png"] forSegmentAtIndex:0];
    }
    

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 2013-08-23
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多