有人可以告诉我如何更改UISegment控件的文本颜色吗?
答案 0 :(得分:3)
Apple文档未指定以编程方式执行此操作的方法。最简单的方法是对每个分段控制段进行屏幕截图,而不显示文本。然后打开photoshop或gimp并添加所需的任何颜色的文本。然后告诉滑块你的图像是这样的(假设2段):
UIImage *segmentOne = [[UIImage imageNamed:@"segmentOne.png"] stretchableImageWithLeftCapWidth:4 topCapHeight:0];
UIImage *segmentTwo = [[UIImage imageNamed:@"segmentTwo.png"] stretchableImageWithLeftCapWidth:4 topCapHeight:0];
[_segmentedControl setImage:segmentOne forSegmentAtIndex:0];
[_segmentedControl setImage:segmentTwo forSegmentAtIndex:1];
答案 1 :(得分:0)
我意识到这是一个老问题,但这是第一次相关的打击。
来自UICatalog的现代方式是:
NSDictionary *textAttributes = @{ UITextAttributeTextColor:[UIColor blueColor],
UITextAttributeFont:[UIFont systemFontOfSize:13.0] };
[segmentedControl setTitleTextAttributes:textAttributes
forState:UIControlStateNormal];
textAttributes = @{ UITextAttributeTextColor:[UIColor redColor],
UITextAttributeFont:[UIFont systemFontOfSize:13.0] };
[segmentedControl setTitleTextAttributes:textAttributes
forState:UIControlStateHighlighted];
setTitleTextAttributes:forState:
首次出现在iOS 5中,所以现在没有理由不使用它。
值得一提:您可能也想设置UITextAttributeTextShadowColor
。