【问题标题】:issue with ios7 tabbar controllerios7标签栏控制器的问题
【发布时间】:2013-10-09 10:57:59
【问题描述】:

嗨,我正在将我的应用程序从 ios 6.1 迁移到 7,该应用程序包含一个标签栏控制器,在 ios6 上运行良好,但是当我在 ios 7 上运行它时,5 个标签栏项目中有 4 个不显示所选图像,它的很奇怪,因为一个显示正确,而其他显示不正确,正在使用情节提要,无法使用“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"]];
    }
}

【问题讨论】:

    标签: objective-c uitabbarcontroller ios7 uitabbar


    【解决方案1】:

    您想要使用 imageWithRenderingMode 是正确的。只需执行以下操作即可将 UIImage 调整为与两个 ios 版本兼容:

    UIImage *tabImage = [UIImage imageNamed:@"tabBar.png"];
    
    if ([UIImage instancesRespondToSelector:@selector(imageWithRenderingMode:)]) {
        tabImage = [segmentImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-24
      • 2012-04-24
      • 2023-04-10
      • 1970-01-01
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多