ios - 为每个 UISegementedControl 索引设置不同的文本颜色

标签 ios objective-c uisegmentedcontrol

是否可以让 UISegmentedControl 中的每个段的文本/字体颜色不同?

我看到只能设置全局颜色,这不是我想要的。

最佳答案

是的,你可以为每个段设置不同的颜色,试试下面的代码......

//假设有3段

//背景色

for (int i = 0; i < [segmentControl.subviews count]; i++)
{
    UIColor *tintcolor = nil;
    if (i == 0)
        tintcolor = [UIColor blueColor];
    else if (i == 1)
        tintcolor = [UIColor greenColor];
    else if (i == 2)
        tintcolor = [UIColor redColor];
    [segmentControl.subviews[i] setTintColor:tintcolor];
}

//文字颜色

for (id segmentControl in [self.segmentedControl subviews])
{
    for (id label in [segmentControl subviews])
    {
        if ([label isKindOfClass:[UILabel class]])
            [label setTextColor:[UIColor darkGrayColor]];    // here you can set whatever colour you want
    }
}
[segmentControl setNeedsDisplay];

关于ios - 为每个 UISegementedControl 索引设置不同的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984470/

相关文章:

ios - 在 Swift 中,如何自定义标签栏上的更多菜单?

ios - 在 Scrollview 的滚动条上移动 CALayer 的 mask

ios - arc4Random() - 生成数字 "jumping after 10"

ios - UISegmentedControl TableView 重新排序

ios - 使用 UIRefreshControl 刷新 UITableView

iOS apple-touch-icon 仅适用于一个 URL

iphone - 使用 UIDocumentInteractionController 处理临时文件

iphone - 如何将特定 View 的方向更改为横向?

objective-c - 用户使用 UISegmentedControl 更改显示单位后立即更改显示单位

swift - 分段控制 - 为什么在检查 .selectedSegmentIndex 时两个滑动操作都不会消失