我是iOS
开发的新手,想知道实现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故事板:
启动时的iOS模拟器:
我正在运行Xcode 5.0.2
和iOS Simulator
v7.0.3。谢谢!
答案 0 :(得分:0)
这就是色调颜色在iOS 7中的工作方式。您可以使用函数
进一步自定义控件[control setBackgroundImage:forState:barMetrics:]
你可以这样称呼它 -
[control setBackgroundImage:unselectedBackImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[control setBackgroundImage:selectedBackgroundImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];