使用tintColor的UISegmentedControl不显示选择?

时间:2013-03-25 12:06:56

标签: iphone ios objective-c cocoa-touch uisegmentedcontrol

如果tintColor UISegmentedControl segmentedControlStyle UISegmentedControlStyleBar {{1}},则{{1}}不再显示您选择的按钮。 valueChanged事件仍然会触发,但所选按钮中没有任何颜色更改。如果不将控件保留为默认的蓝色样式,是否无法显示所选按钮?

2 个答案:

答案 0 :(得分:0)

如果将深色设置为TintColor,则不会获得选定的效果,因为使用浅色 把这段代码放在UISegmentControl的改变方法

for (int i=0; i<[[sender subviews] count]; i++)
{
    if ([[[sender subviews] objectAtIndex:i]isSelected] )
    {
        UIColor *tintcolor=[UIColor redColor]; //your requiremnent color here
        [[[sender subviews] objectAtIndex:i] setTintColor:tintcolor];
        break;
    }
}

试试这个

答案 1 :(得分:0)

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];
    break;
    }
}