【问题标题】:UISegmentedControl tint color isn't drawn correctly on iOS 7UISegmentedControl 色调颜色在 iOS 7 上未正确绘制
【发布时间】:2013-10-14 21:01:06
【问题描述】:

我想在 iOS 7 上更改 UISegmentedControl 的颜色。如果我在 Interface Builder 中更改色调颜色,则它的一部分以色调颜色绘制,部分以标准蓝色绘制。

图片应该更清楚。我选择了红色作为色调。

我在模拟器和设备上都得到了相同的行为。

如果我点击分段控件上的项目,它们会以请求的色调重新绘制。

如果我在viewDidLoad 中指定色调颜色,则一切正常。

[segmentedControl setTintColor:[UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0]];

为什么 Interface Builder 颜色不起作用?

(感觉在第一次绘制控件时颜色属性没有正确应用,但我没有证据支持。)

【问题讨论】:

  • 我也有同样的问题。一旦选择了其他部分之一,它看起来就会被清除。在viewDidLoad 中“手动”设置它很好。希望这可以在 Xcode 和/或 iOS 的更新中得到解决。

标签: ios7 uisegmentedcontrol


【解决方案1】:

我也有同样奇怪的行为。我能想到的唯一解决方法是将 tintColor 切换为其他内容,然后将其切换回 viewDidLoad

[self.mySegmentedControl setTintColor:[UIColor clearColor]];
[self.mySegmentedControl setTintColor:self.view.tintColor];

【讨论】:

    【解决方案2】:

    如果您不想编写代码,可以在情节提要中完成另一种解决方法。

    保持视图的 tintColor 为默认值。段控制将起作用。缺点是您必须为视图上的每个组件设置 tintColor。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 2014-09-21
      • 2019-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多