2

こんにちは、アプリを ios 6.1 から 7 に移行しています。アプリにはタブバー コントローラーが含まれており、ios6 では問題なく動作しますが、これを ios 7 で実行すると、5 つのタブバー項目のうち 4 つに選択した画像が表示されません。かなり奇妙です。 1つは正しく表示されていますが、ストーリーボードを使用していますが、「imageWithRenderingMode:」を使用できません.xcode 4.6でこれを行っているため、xcode 4.6でのみ修正して実行できるようにしたいと思います. ios7 で、tabbarcontroller のコードが表示されます。誤りがあればご容赦ください。

- (void)customizeTabbarBackgroundImages:(UITabBarController *)tabbarController
{
    //background of tabbar
    [tabbarController.tabBar setBackgroundImage:[UIImage imageNamed:@"tabbarBackground.png"]];

    //background for selected item
    [[tabbarController tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar-selection-background.png"]];

    //keep the item at index 2 as selected item
    tabbarController.selectedIndex = 2;
}


- (void)customizeTabbarItemImages:(UITabBarController *)tabbarController
{
    {
        //Index - Favourites
        [[tabbarController.tabBar.items objectAtIndex:0] setFinishedSelectedImage:[UIImage imageNamed:@"tabbar-favourites-icon-down.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar-favourites-icon.png"]];

        //Index - Search
        [[tabbarController.tabBar.items objectAtIndex:1] setFinishedSelectedImage:[UIImage imageNamed:@"tabbar-search-icon-down.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar-search-icon.png"]];

        //Index - Icon
        [[tabbarController.tabBar.items objectAtIndex:2] setFinishedSelectedImage:[UIImage imageNamed:@"tabbar-random-button"]withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar-random-button"]];

        //Index - Profile
        [[tabbarController.tabBar.items objectAtIndex:3] setFinishedSelectedImage:[UIImage imageNamed:@"tabbar-profile-icon-down.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar-profile-icon.png"]];

        //Index - Settings
        [[tabbarController.tabBar.items objectAtIndex:4] setFinishedSelectedImage:[UIImage imageNamed:@"tabbar-settings-icon-down.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar-settings-icon.png"]];
    }
}

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

1

imageWithRenderingMode を使用したい場合は、正しい方向に進んでいます。UIImage を両方の iOS バージョンと互換性があるように調整するには、次のようにします。

UIImage *tabImage = [UIImage imageNamed:@"tabBar.png"];

if ([UIImage instancesRespondToSelector:@selector(imageWithRenderingMode:)]) {
    tabImage = [segmentImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
于 2013-10-10T07:19:01.250 に答える