1

こんにちは私はカスタムタブバーで開発しています、そして私の展開ターゲットはiOS4です

ここに画像の説明を入力してください

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];
}

Iamはいくつかのコードを試しました

1) UITabBarItemにカスタム選択さ​​れた画像を使用する方法はありますか?

2) iPhoneアプリ用のカスタムUITabBarを作成する本当にクールな方法ですか?

これらのコードサンプルには影響しません

私はたくさん試しましたが、iOS4でこのタスクを実行する方法はありますか?

ショートカットはありますか?

チュートリアルまたはサンプルpls

前もって感謝します

4

1 に答える 1

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;
 }
于 2013-03-15T10:25:36.133 に答える