如何在iOS 7和iOS 6中支持不同的标签栏图标大小?

时间:2013-10-25 03:33:49

标签: ios ios6 ios7 icons uitabbarcontroller

在iOS 7中,Apple增加了标签栏图标的标准尺寸。如果在故事板中设置了标签栏图标,那么如何同时支持iOS 6和iOS 7界面?您是否必须为iOS 7制作单独的故事板?

如果您使用的是iOS 7,请以编程方式调整图标吗?

我很困惑,因为文档似乎没有提到任何关于标签栏的不同大小的图标(https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/TransitionGuide.pdf第26页)

事实上,图标几乎完全相同。

但是当我在iOS 7中运行我的应用程序时,所有图标都会缩小。

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法检查当前iOS的版本,然后自定义按钮大小和导航栏按钮的外观。

 if (floor(NSFoundationVersionNumber)<=NSFoundationVersionNumber_iOS_6_1) {
        UIImage *navBarImage=[[UIImage imageNamed:@"top-bar-bg-44px.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
        [[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];

        UIImage *barButtonImg=[[UIImage imageNamed:@"back-ios6.png"]
            resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 5)];

        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:barButtonImg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    }

    else{


}

答案 1 :(得分:0)

经过一番挖掘后,我在这里找到了答案 - Tab bar icons on retina display

“您需要创建两个单独的图标icon.png(30x30)和icon@2x.png(60x60)。 iOS将根据屏幕比例自动加载正确的文件。“