3 回答
TA贡献1827条经验 获得超4个赞
我在UISegmentcontrol中找到了一种为所选段添加颜色的简单方法
发件人是UISegmentControl
for (int i=0; i<[sender.subviews count]; i++)
{
if ([[sender.subviews objectAtIndex:i]isSelected] )
{
UIColor *tintcolor=[UIColor colorWithRed:127.0/255.0 green:161.0/255.0 blue:183.0/255.0 alpha:1.0];
[[sender.subviews objectAtIndex:i] setTintColor:tintcolor];
}
else
{
[[sender.subviews objectAtIndex:i] setTintColor:nil];
}
}
检查它为我工作
TA贡献1850条经验 获得超11个赞
这是将所选段更改为任何RGB颜色的绝对最简单的方法。无需子类化或黑客入侵。
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
UIColor *newTintColor = [UIColor colorWithRed: 251/255.0 green:175/255.0 blue:93/255.0 alpha:1.0];
segmentedControl.tintColor = newTintColor;
UIColor *newSelectedTintColor = [UIColor colorWithRed: 0/255.0 green:175/255.0 blue:0/255.0 alpha:1.0];
[[[segmentedControl subviews] objectAtIndex:0] setTintColor:newSelectedTintColor];
此示例显示了重要步骤:
将控件样式设置为“ StyleBar”,这是工作所需的样式
首先将整个控件的未选择颜色设置为橙色
将所选线段的颜色设置为绿色
笔记:
步骤1和2可以在界面生成器中完成,也可以在所示的代码中完成。但是,第3步只能在代码中完成
像这样用“ 123.0 / 255.0”这样的符号设置颜色值只是使RGB值脱颖而出的一种方法,而不是UIColor要求的标准化浮点值(如果愿意,可以忽略它)
- 3 回答
- 0 关注
- 1365 浏览
添加回答
举报