3

固定的!

你不会相信...这是一个 Winterboard 主题搞砸了它!混蛋!禁用的主题和瞧,完美的作品。对于任何感兴趣的人来说,有问题的主题是“Ayecorn”。不酷!希望这可以帮助遇到相同问题的其他人。

对不起,谢谢大家的意见!这里很棒的社区。

原始问题:

所以在 Xcode 4.5 中一个简单的测试 iPhone 应用程序:

通过 Storyboard 创建一个带有 UISegmentedControl 的视图,并通过属性检查器设置颜色。

在模拟器上运行,颜色显示正常:

在此处输入图像描述

在设备上运行它,颜色透明/清晰。

在此处输入图像描述

(是的,在上面的这个例子中,我已经为单独的段着色,但我什至创建了一个新项目,向视图(条形类型)添加了段控制,它就出来了!?什么给了?

任何人以前经历过这种情况并就如何纠正这个问题提出建议?

谢谢

4

4 回答 4

1

尝试粘贴下面的代码

- (void)viewDidLoad
{
    UISegmentedControl *segmentControl=[[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"1",@"2",nil] ];
    [segmentControl setSegmentedControlStyle:UISegmentedControlStyleBar];
    [segmentControl setFrame:CGRectMake(20, 20, 200, 30)];

    [self.view addSubview:segmentControl];

    [segmentControl addTarget:self action:@selector(changeSegment:) forControlEvents:UIControlEventValueChanged];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)changeSegment:(UISegmentedControl*)sender
{
    for (int i=0; i<[sender.subviews count]; i++)
    {
        UIColor *tintcolor;
        if ([[sender.subviews objectAtIndex:i]isSelected] )
        {
            tintcolor=[UIColor redColor];
            [[sender.subviews objectAtIndex:i] setTintColor:tintcolor];
        }

        if (![[sender.subviews objectAtIndex:i]isSelected]){
            tintcolor=[UIColor grayColor];
            [[sender.subviews objectAtIndex:i] setTintColor:tintcolor];
        }
    }
}
于 2013-06-07T10:44:47.010 回答
1

您的模拟器可能已经缓存了您之前使用的旧图像。清理您的模拟器和整个项目,以确保图像正确加载到您的模拟器上。

于 2013-06-07T10:44:23.137 回答
0

你不会相信...这是一个 Winterboard 主题搞砸了它!混蛋!禁用的主题和瞧,完美的作品。对于任何感兴趣的人来说,有问题的主题是“Ayecorn”。不酷!

感谢所有输入的家伙!这里很棒的社区!

于 2013-06-07T12:59:50.397 回答
0

您可能在View Attributes的Drawing部分中未选中Opaque选项。

我隐约记得有一个与此类似的问题,其中模拟器上的行为与设备上的行为不同,并且与不透明设置有关。

于 2013-06-07T11:39:30.113 回答