此时我想保持我的代码与 Xcode 4 兼容,因此我不想升级我的 nib 文件。
但是,在不升级 nib 文件的情况下,我无法更改 UISegmentedControl 控件的色调颜色并使用新的 iOS7 版本的控件。
我见过 ..
[NSUserDefaults standardUserDefaults] setObject:@Yes forKey@"UIUseLegacyUID"]
哪个会保留 iOS6 布局,我不确定是否有未来版本或者这是否会有所帮助?
此时我想保持我的代码与 Xcode 4 兼容,因此我不想升级我的 nib 文件。
但是,在不升级 nib 文件的情况下,我无法更改 UISegmentedControl 控件的色调颜色并使用新的 iOS7 版本的控件。
我见过 ..
[NSUserDefaults standardUserDefaults] setObject:@Yes forKey@"UIUseLegacyUID"]
哪个会保留 iOS6 布局,我不确定是否有未来版本或者这是否会有所帮助?
使用 Xcode 5,您可以更改您的 XIB 以使用 Xcode 4 和 iOS 6 的属性。
默认情况下,您有:
但是,您可以更改 Xcode 4.6 和 iOS 6 的属性:
您可以像这样在代码中更改色调颜色:
UISegmentedControl *segmentedControl = ...;
// For backwards compatibility
if ([segmentedControl respondsToSelector:@selector(tintColor)])
{
segmentedControl.tintColor = [UIColor redColor];
}
您可以为每个段设置不同的段图像和颜色。对于颜色,您可以使用:
//get the subviews of the segmentedcontrol
NSArray *arri = [segmentedControl subviews];
//change the color of every subview(segment) you have
[[arri objectAtIndex:0] setTintColor:[UIColor redColor]];
[[arri objectAtIndex:1] setTintColor:[UIColor greenColor]];