2014-01-14 25 views
1

我是iOS开发的新手,想知道实施UISegmentedControl的正确方法。如何正确使用UISegmentedControl?

我已经拖出细分受众群,将其放到我想要的位置,通过边栏中的属性更改其色调颜色,然后更改每个细分受众群的文字。然后,我控制住并且拖到ViewController.m创建一个出口。这是这个功能:

- (IBAction)touchSegment:(UISegmentedControl *)sender { 
    NSString *selectedSegmentTitle = [sender titleForSegmentAtIndex:sender.selectedSegmentIndex]; 

    if ([selectedSegmentTitle isEqualToString:@"2 cards"]) { 
     NSLog(@"first tapped"); 
    } 
    else if ([selectedSegmentTitle isEqualToString:@"3 cards"]) { 
     NSLog(@"second tapped"); 
    } 
} 

这很直观,但它不能正常工作。虽然XCode中的所有状态都设置了自定义色调颜色(选择该片段作为一个整体,然后双击每个单独的一个),但启动应用程序时只有左侧的片段被着色 - 右侧的边框仍然是默认蓝色。如果在iOS Simulator中单击右侧的段,则颜色将更改为正确的设置色调。我还设置了默认情况下应在侧边栏中选择哪一个,但它并未在故事板中显示。不知道我是否做得对,这些都是XCode中的小错误,或者如果我错过了某些东西,或者首先做错了。

Xcode的故事板:
enter image description here

iPhone模拟器一经推出:
enter image description here

我运行Xcode 5.0.2iOS Simulator v7.0.3。谢谢!

回答

0

也就是说,在iOS的7着色颜色的作品可以通过使用功能

进一步自定义您的控制方式

你可以把它像这样[控制了setBackgroundImage:forState:barMetrics] -

[control setBackgroundImage:unselectedBackImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

[control setBackgroundImage:selectedBackgroundImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

+0

你好。我认为有些东西肯定不能正常工作。我添加了一些图像以进一步说明情况。 – Joey

+0

这很奇怪。我不能重新创建只是使用故事板...你是否在代码中设置边框颜色? 我会尝试删除该控件并重新开始。某些设置可能会在某处出现混乱。 – Eagle11

+0

我遵循完全相同的步骤,问题再次发生,完全如上所示。你在使用Xcode 5.0.2吗?只需拖出一段,按住控制并拖动到ViewController,输入名称并从ID更改为UISegmentedControl,单击它并通过侧栏更改色调,将左侧设置为选中状态,然后添加该功能中的代码。 – Joey