Fonts UISegmentedControl在不更改字体的情况下禁用段

Fonts UISegmentedControl在不更改字体的情况下禁用段,fonts,ios7,uisegmentedcontrol,segment,Fonts,Ios7,Uisegmentedcontrol,Segment,我已经将UISegmentedControl作为交换ViewController的导航栏的一部分-我需要能够在各种条件下禁用某些段。问题是,当段被禁用时,iOS(在我的例子中是7)会弄乱段字体-它不会像正常情况那样将alpha更改为0.5,而是将字体颜色更改为深灰色,因此在黑条上几乎无法读取。我曾尝试创建解决方案setEnable,它只会更改aplha,但一旦我使用setUserInteractionEnabled为否,iOS将再次自动更改字体颜色 您知道如何解决这个问题吗?您需要设置禁用状态的

我已经将UISegmentedControl作为交换ViewController的导航栏的一部分-我需要能够在各种条件下禁用某些段。问题是,当段被禁用时,iOS(在我的例子中是7)会弄乱段字体-它不会像正常情况那样将alpha更改为0.5,而是将字体颜色更改为深灰色,因此在黑条上几乎无法读取。我曾尝试创建解决方案setEnable,它只会更改aplha,但一旦我使用setUserInteractionEnabled为否,iOS将再次自动更改字体颜色


您知道如何解决这个问题吗?

您需要设置禁用状态的标题属性:

NSDictionary *attrs = @{ UITextAttributeTextColor : [UIColor purpleColor] };
[segmentedControl setTitleTextAttributes:attrs forState:UIControlStateDisabled];

显然,当段被禁用时,您应该将紫色替换为您想要的颜色。

是否有类似的方法来为被破坏的段着色?