1

最近 Xcode を 5.1 に更新しましたが、タブ バーに問題があります。iOS 7 および Xcode 5.0 では、次のコードを使用しました。

// Graph tab icon
    UITabBar *tabBar = tabBarController.tabBar;
    UITabBarItem *graphTabIcon = [tabBar.items objectAtIndex:0];
    UIImage *noRenderGraph = [[UIImage imageNamed:@"graph"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [graphTabIcon setImage:noRenderGraph];
    [graphTabIcon setTitle:@"Graph"];
    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
    // Friends tab icon
    UITabBarItem *friendsTabIcon = [tabBar.items objectAtIndex:1];
    UIImage *noRenderFriends = [[UIImage imageNamed:@"group"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [friendsTabIcon setImage:noRenderFriends];
    [friendsTabIcon setTitle:@"Friends"];
    // Settings tab icon
    UITabBarItem *settingsTabIcon = [tabBar.items objectAtIndex:2];
    UIImage *noRenderSettings = [[UIImage imageNamed:@"settings"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [settingsTabIcon setImage:noRenderSettings];
    [settingsTabIcon setTitle:@"Settings"];
    // Info tab icon
    UITabBarItem *infoTabIcon = [tabBar.items objectAtIndex:3];
    UIImage *noRenderinfo = [[UIImage imageNamed:@"info"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [infoTabIcon setImage:noRenderinfo];
    [infoTabIcon setTitle:@"Info"];

結果は次のとおりです。

ここに画像の説明を入力

しかし、7.1 と Xcode 5.1 では、次のようになります。 ここに画像の説明を入力

私もこのコードを試しました:

[[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];

iOS 7.1 では見栄えが良かったのですが、7 ではわずかに茶色になってしまいました。

では、両方で機能するようにするにはどうすればよいですか?

4

1 に答える 1

1

Leo Natan のコメントに基づいて、私はこれを行いました:

編集

私は両方のコードスニペットを一緒に追加するだけで終わったので、私が望むように動作します

アプリのデリゲート

{
    // iOS 7 method
    // Graph tab icon
    UITabBar *tabBar = tabBarController.tabBar;
    UITabBarItem *graphTabIcon = [tabBar.items objectAtIndex:0];
    UIImage *noRenderGraph = [[UIImage imageNamed:@"graph"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [graphTabIcon setImage:noRenderGraph];
    [graphTabIcon setTitle:@"Graph"];
    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
    // Friends tab icon
    UITabBarItem *friendsTabIcon = [tabBar.items objectAtIndex:1];
    UIImage *noRenderFriends = [[UIImage imageNamed:@"group"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [friendsTabIcon setImage:noRenderFriends];
    [friendsTabIcon setTitle:@"Friends"];
    // Settings tab icon
    UITabBarItem *settingsTabIcon = [tabBar.items objectAtIndex:2];
    UIImage *noRenderSettings = [[UIImage imageNamed:@"settings"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [settingsTabIcon setImage:noRenderSettings];
    [settingsTabIcon setTitle:@"Settings"];
    // Info tab icon
    UITabBarItem *infoTabIcon = [tabBar.items objectAtIndex:3];
    UIImage *noRenderinfo = [[UIImage imageNamed:@"info"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    [infoTabIcon setImage:noRenderinfo];
    [infoTabIcon setTitle:@"Info"];

    // iOS 7.1 method
    [[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];
}
于 2014-04-16T20:24:30.363 に答える