将故事板转换为Autolyaouts和Size类所需的图像大小?

时间:2015-09-02 06:34:14

标签: ios iphone autolayout size-classes

我现有的应用程序有两个故事板(适用于iPhone和iPad),它支持iOS7 +。我现在计划使用Autolayouts和Size Classes将其转换为一个故事板,但我很少有混淆:

  • 图片的大小是多少?例如,现在没有Size Classes和Autolayouts,我要求设计师为iPhone5和iPad分割图像,分别为@ 2x和@ 3x。但是对于Autolayouts,他们需要切片的大小,即他们选择的屏幕大小,然后相应地为@ 2x和@ 3x提供图像,即通用屏幕大小?例如,我请他们给我一个屏幕尺寸的背景图片。他们会给我多大的尺寸?根据我的理解,它不应该是iPhone特定的或iPad特定的,因为该应用程序将是通用的。

  • 我知道Size Classes支持iOS8以上,那么iOS7呢?我将以编程方式为iOS7做事吗?我是否必须使用特定于设备的图像,还是可以为iOS7使用通用尺寸的图像?

2 个答案:

答案 0 :(得分:1)

大小类并不意味着你不能再对事物有所了解了,你仍然应该将背景设置为合适的手机大小的图像,当尺寸类是手机的形状(紧凑x常规),并设置合适的iPad当它的大小与iPad一样大小时(常规x常规)。

似乎你仍然可以在iOS 7中使用大小类with some limitations

我认为您正在查看大小类,因为它有一个通用的故事板,可以解决您像以前一样拥有特定的iPad和iPhone故事板的问题,这部分是正确的,它真正做的就是为您节省两个独立的故事板,所以如果您的ipad和iphone屏幕不同,则需要在不同尺寸类别中进行差异布局(在您的情况下,不同尺寸的背景是不同的)。它可能只是省去你必须在两个不同的故事板中指定你的自动布局两次(甚至可能不是)

答案 1 :(得分:0)

对于图像,您仍然需要来自设计团队的不同图像:

imageName@2x.png: 640 x 960 (iPhone 4. iPhone 4s)
imageName-568h@2x.png: 640 x 1136 (iPhone 5, iPhone 5s)
imageName-667h@2x.png: 750 x 1334 (iPhone 6, Portrait)
imageName-736h@3x.png: 1242 x 2208 (iPhone 6 Plus, Portrait)
imageName~ipad.png: 750 x 1334 (iPad)
imageName~ipad@2x.png: 1242 x 2208 (iPad Retina)

对于图标,我们更喜欢使用icomoon.io网站从图标的svg制作字体文件。

在开发过程中,我们需要在设备级别验证图像名称。只需看看这个实用程序: https://github.com/victorjiang/UIImage-VJDeviceSpecificMedia/blob/master/UIImage%2BVJDeviceSpecialMedia.m