我有一段代码只适用于iOS 6或更高版本。
control.tintColor = [UIColor greenColor];
是否有可以使用的编译器指令,如#ifdef iOS6_or_greater
?
答案 0 :(得分:17)
最好是检查功能,而不是iOS版本。
例如,您可以使用respondsToSelector来查看是否支持给定的方法。
[someObject respondsToSelector:@selector(someMethod)]
如果失败,那就有一个预处理器指令
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
- (BOOL)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
#endif
答案 1 :(得分:0)
你可以去找............
float currSysVerFloat = [[[UIDevice currentDevice] systemVersion]floatValue];
if (currSysVerFloat>=6.0) {
isversion6=TRUE;
control.tintColor = [UIColor greenColor];
//This is iOS6 or greater
} else {
//do nothing
isversion6 = FALSE;
}
答案 2 :(得分:0)
我只是给你比较系统版本的基本代码
在
中编写以下代码#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
您的projectName-Prefix.pch
,以便您可以随时随地访问它。
并将其应用为
等条件if( SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6") )
{
}
else
{
}