0

[tabBarController.tabBar setTranslucent:NO];iOS7用のアプリで使用しようとしています。ただし、xcode 4 を使用してコードをコンパイルする必要があります。

だから私は実行時にiOSのバージョンをチェックします

float ver = [[[UIDevice currentDevice] systemVersion] floatValue];
if (ver >= 7.0) {

[tabBarController.tabBar setTranslucent:NO];Xcode 4 で使用するとエラーが発生します。

「UITabBar」の目に見える @interface がセレクター「setTranslucent:」を宣言していません

setTanslucent は iOS6 では使用できないためです。

私は何度も試みましたが、コードが実行されないか、エラーが発生します...

  //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:"];
    //}

他に何を試せばよいかわかりません。

4

3 に答える 3

1

カテゴリを作成して、property再度定義することができます

@interface UITabBar (OldSDKCompatibility)
@property(nonatomic,getter=isTranslucent) BOOL translucent;
@end
于 2013-10-03T11:54:31.230 に答える
0

修正: この問題は、sdk にない機能を使用できないことです。したがって、Xcode 4 を使用し、そのコードを使用したり、Xcode 5 を使用したりしないでください。

于 2013-10-03T11:47:56.273 に答える