我正在尝试在iOS7应用中使用[tabBarController.tabBar setTranslucent:NO];
。
但是,我希望使用xcode 4编译代码。
所以我在运行时检查iOS版本
float ver = [[[UIDevice currentDevice] systemVersion] floatValue];
if (ver >= 7.0) {
在Xcode 4中使用[tabBarController.tabBar setTranslucent:NO];
会产生错误..
'UITabBar'没有可见的@interface声明选择器'setTranslucent:'
因为iOS6中没有setTanslucent。
我有很多次尝试但是代码没有运行或导致错误......
//UITabBar *tabBarr = [tabBarController tabBar];
//if ([tabBarr respondsToSelector:NSSelectorFromString(@"setTranslucent")]) {
// [tabBarr setValue:NO forKey:@"setTranslucent"];
//}
//if ([tabBarr respondsToSelector:@selector(setTranslucent:)]) {
// [tabBarr setTranslucent:NO];
//}
// tabBarController.tabBar.superview.backgroundColor = [UIColor clearColor];
//if ([tabBarr respondsToSelector:@selector(setTranslucent:)]) {
//if ([[tabBarController.tabBar class] instancesRespondToSelector:@selector(setTranslucent:)]) {
//[tabBarController.tabBar setTranslucent:NO];
//[tabBarController.tabBar setBool:NO forKey:@"setTranslucent"];
// [tabBarController.tabBar setValue:NO forKey:@"setTranslucent:"];
//}
我不确定还能尝试什么?
答案 0 :(得分:1)
我定义宏而不是使用这些:
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
使用类似:
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7")) { ... )
查看问题是否与版本检查有关。
答案 1 :(得分:1)
您可以创建一个类别并再次定义property
@interface UITabBar (OldSDKCompatibility)
@property(nonatomic,getter=isTranslucent) BOOL translucent;
@end
答案 2 :(得分:0)
更正:此问题是您无法使用不在sdk中的功能。因此,请使用Xcode 4,不要使用该代码或使用Xcode 5。