1

我是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.2v7.0.3 iOS Simulator。谢谢!

4

1 回答 1

0

这就是 tint color 在 iOS 7 中的工作方式。您可以使用该函数进一步自定义控件

[控制setBackgroundImage:forState:barMetrics:]

你可以这样称呼它——

[控制 setBackgroundImage:unselectedBackImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

[控制 setBackgroundImage:selectedBackgroundImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

于 2014-01-14T16:06:24.323 回答