我想在iOS 7上更改UISegmentedControl的颜色。如果我在界面生成器中更改了色调颜色,则部分颜色以色调颜色绘制,部件以标准蓝色绘制。
图像应该更清楚。我选择了红色作为浅色。
我在模拟器和设备上都有相同的行为。
如果我点击分段控件上的项目,它们会以请求的色调重新绘制。
如果我在viewDidLoad
中指定色调颜色,则一切正常。
[segmentedControl setTintColor:[UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0]];
为什么Interface Builder颜色不起作用?
(感觉就像首次绘制控件时颜色属性没有正确应用,但我没有证据支持它。)
答案 0 :(得分:8)
我有同样奇怪的行为。我能想到的唯一解决方法是将tintColor切换为其他内容,然后在viewDidLoad
[self.mySegmentedControl setTintColor:[UIColor clearColor]];
[self.mySegmentedControl setTintColor:self.view.tintColor];
答案 1 :(得分:0)
如果您不想编写代码,可以在故事板中完成另一种解决方法。
将视图的tintColor保留为默认值。然后段控制将起作用。缺点是您必须为视图中的每个组件设置tintColor。