UISegmentedControl颜色问题 – 颜色在模拟器上显示正常,而不是在设备上显示

固定!

你不会相信的…这是一个冬天的主题搞乱它! bug子手! 禁用的主题和瞧,完美的作品。 有意思的主题是“Ayecorn”。 不爽! 希望这可以帮助遇到同样问题的其他人。

对不起人们,并感谢所有的input! 这里有很棒的社区

原问题:

所以Xcode 4.5中的一个简单的testingiPhone应用程序:

使用Storyboard通过UISegmentedControl创build视图,并通过属性检查器设置颜色。

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

在这里输入图像说明

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

在这里输入图像说明

(是的在这个例子中,我有上色的单个段,但我甚至创build了一个新的项目,添加段控制视图(条形),它出来看到通过!?什么给?

任何人都经历过这个,并有如何纠正这个build议?

谢谢

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

尝试粘贴下面的代码

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

视图属性绘图部分可能会取消选中不透明选项。

我依稀记得有一个类似于这个问题的地方,仿真器上的行为与设备的行为不同,它与不透明设置有关。

你不会相信的…这是一个冬天的主题搞乱它! bug子手! 禁用的主题和瞧,完美的作品。 有意思的主题是“Ayecorn”。 不爽!

感谢所有的input家伙! 这里的大社区!