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

4
在iOS 7中,苹果增加了标签栏图标的标准大小。如果标签栏图标是在Storyboard中设置的,如何同时支持iOS 6和iOS 7界面?您需要为iOS 7制作单独的Storyboard吗?
如果您在iOS 7中以编程方式调整图标?
我感到困惑的主要原因是文档似乎没有提到标签栏图标的不同大小(https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/TransitionGuide.pdf 第26页)
实际上,这些图标看起来几乎相同。
但是当我在iOS 7中运行我的应用程序时,所有图标都会缩小。

嗨,我也看到了像 https://github.com/boctor/idev-recipes/blob/master/RaisedCenterTabBar/Images/Instagram/cameraTabBarItem@2x.png?raw=true 这样的自定义选项卡图标在IOS7中缩小,而在ios7以下完美运行。你有解决方法吗? - Alphonse R. Dsouza
你不一定想要在两个不同的分辨率下使用相同的图标文件。缩小高分辨率图像并不总是完美的。 - shim
2个回答

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{


}

0

经过一番搜索,我在这里找到了答案 - 高清屏幕上的选项卡图标

"你需要创建两个分开的图标 icon.png (30x30) 和 icon@2x.png (60x60)。 iOS会根据屏幕比例自动加载正确的文件。"


这并没有回答问题,问题是关于iOS6和iOS7图标大小的差异,而不是非视网膜和视网膜显示器之间的差异。 - fishinear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接