Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UISegmentedControl tintColor在iOS7中不工作_Ios7_Xcode5_Uisegmentedcontrol - Fatal编程技术网

UISegmentedControl tintColor在iOS7中不工作

UISegmentedControl tintColor在iOS7中不工作,ios7,xcode5,uisegmentedcontrol,Ios7,Xcode5,Uisegmentedcontrol,我有一个应用程序,我正准备用ios7sdk构建它。不幸的是,我们在iOS5上仍然有很多用户,所以我们需要支持它 我遇到的问题是,当NIB设置为在Xcode 4.6中打开时,在iOS7上设置UISegmentedControl的样式。它只是忽略了颜色。当我将NIB文件设置为在Xcode 5中打开时,设置tintColor效果很好,但在iOS5上尝试使用NIB时出错。分段控件位于工具栏控件中。下面是我正在使用的代码 toolbar.barTintColor = [UIColor redColor]

我有一个应用程序,我正准备用ios7sdk构建它。不幸的是,我们在iOS5上仍然有很多用户,所以我们需要支持它

我遇到的问题是,当NIB设置为在Xcode 4.6中打开时,在iOS7上设置UISegmentedControl的样式。它只是忽略了颜色。当我将NIB文件设置为在Xcode 5中打开时,设置tintColor效果很好,但在iOS5上尝试使用NIB时出错。分段控件位于工具栏控件中。下面是我正在使用的代码

toolbar.barTintColor =  [UIColor redColor];
toolbar.tintColor = [UIColor whiteColor];
[toolbar setTranslucent:NO];
[toolbar setBarStyle:UIBarStyleBlack];
segmentedControl.tintColor = [UIColor whiteColor];
更新:

我在其他一些NIB中看到的是每个配置的以下行为:

在4.6中打开,为5.0及更高版本构建-适用于所有版本,但不能使用tintColor设置分段控制器的样式

在5.0及更高版本的5.0版本中打开-适用于iOS5和iOS7,但显示iOS6的“无法在捆绑包中找到NIB”错误

在7.0及更高版本的5.0版本中打开-适用于iOS7和iOS6,但在iOS5上崩溃,出现“找不到NIB”错误


然而,对于这个特定的NIB,“在5.0及更高版本的5.0版本中打开”的配置似乎没有崩溃。因此,这解决了我当前的问题,但我仍然不明白为什么我的其他一些NIB不能使用相同的配置…

iOS 7中添加了
BartinColor
属性,因此在iOS 6或更早版本中使用它将导致崩溃

更新您的代码以防止误用:

if ([toolbar respondsToSelector:@selector(setBarTintColor:)]) {
    toolbar.barTintColor = [UIColor redColor];
}

显示当您尝试在iOS5上使用nib时Xcode给您的错误。上面的整个代码块都被iOS7的检查包围,因此,这不是问题所在。