UISegmentedControl禁用段而不更改字体

时间:2013-11-21 23:01:09

标签: fonts ios7 uisegmentedcontrol segment

我已经将UISegmentedControl作为交换视图控制器的导航栏的一部分 - 我需要能够在各种条件下禁用某些段。问题是iOS(在我的情况下是7)在段被禁用时搞乱了段字体 - 而不是像往常一样将alpha改为0.5,它将字体颜色改为深灰色,因此在黑条上几乎不可读。我试图创建一个解决方法setEnable,它只会更改aplha但是只要我将setUserInteractionEnabled用于NO,iOS就会再次自动更改字体颜色。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:3)

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

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

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