2013-03-05 69 views
1

嗨,我在定製的TabBar正在開發和部署我的目標是iOS4的UITabBar定製iOS中4

enter image description here

在iOS5的明智一切都很好。

在iOS4的明智不工作

代碼片段

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBack.png"]]; 

if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) { 
    //iOS 5 
    [self.tabBarController.tabBar insertSubview:imageView atIndex:1]; 
    self.tabBarController.tabBar.selectionIndicatorImage =[UIImage  imageNamed:@"red_Back.png"]; 
    [[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]]; 

} 
else { 
    //iOS 4 
    [self.tabBarController.tabBar insertSubview:imageView atIndex:0]; 
} 

蔭嘗試了一些碼

1) Is there a way to use a custom selected image for UITabBarItem?

2) Really cool way to create custom UITabBar for iPhone app?

那些代碼示例

我嘗試了很多,沒有辦法做到在iOS4的這個任務沒有影響?

任何捷徑?

任何教程或例子請提前

感謝

回答

0

最初檢查屏幕尺寸

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    NSInteger tabbarHeight; 
    CGRect Bounds = [[UIScreen mainScreen] bounds]; 
    if (Bounds.size.height == 568) { 
     // code for 4-inch screen 
     tabbarHeight = 519; 
       } else { 
     // code for 3.5-inch screen 
     tabbarHeight = 431; 
    } 


    UITabBarController *tabBarController = [[UITabBarController alloc]init]; 
    tabBarController.selectedIndex=0; 
    tabBarController.delegate=self; 
    img = [[UIImageView alloc]init]; 
    img.image=[UIImage imageNamed:@"Tabimage.png"]; 
    img.frame=CGRectMake(0,tabbarHeight, 320, 49);   
    [self.tabBarController.view addSubview:img];  
    tabBarController.viewControllers = @[homeNavigationController,profileNavigationControler,notificationNavigationController,newsNavigationController,aboutUsNavigationController]; 
    self.window.rootViewController = self.tabBarController;  
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{ 
    NSUInteger index=[[tabBarController viewControllers] indexOfObject:viewController]; 
    switch (index) { 
     case 0: 
      self.img.image=[UIImage imageNamed:@"Tabone.png"]; 
      break; 
     case 1: 
      self.img.image=[UIImage imageNamed:@"Tabtwo.png"]; 
      break; 
     case 2: 
      self.img.image=[UIImage imageNamed:@"Tabthree.png"]; 
      break; 
     case 3: 
      self.img.image=[UIImage imageNamed:@"Tabfour.png"]; 
      break; 
     case 4: 
      self.img.image=[UIImage imageNamed:@"Tabfive.png"]; 
      break; 
     default: 
      break; 
    } 
    return YES; 
}