我目前的需求是需要将启动图片通过LaunchScreen.storyboard 来实现。
我首先想到的是创建一个Sb,使用自动布局来布局imageview,并设置如下图:
布局好之后,在Image里面放置图片。然后设置配置。如下图:
我现在有iPhone4/4s 640×960 px @2x。
iPhone5/5s/5c 640×1136 px @2x
iPhone6 750×1334 px@2x
当时在实现的时候,想到了要适配ipad 和iPhone应该使用到sizeclass,我设置了sizeclass 为-+ 但是,2X 的只有一列。我把4s 的放到了1X 中。
iPhone5/5s/5c 640×1136 px @2x
iPhone6 750×1334 px@2x 都在2X里面
其中:
4s 5s 6 竖屏都是Compact h:Regular
所以
如下图
然后我遇到的问题是把5 和6的同时放到2X中的时候,只有一个会正常显示? 这个问题纠结了很久。一直在尝试。最后索性不加班了,睡一觉再说吧!
第二天我忽然发现,之前我一直在思索如何在2X中放图片的问题,其实是一开始我的思路错乱。
我现在的想到的方案是,将4 的尺寸拉伸去匹配5 和6 。因为在原则上,6的找不到会找5 的,5 的找不到会找4的 ,也就是在@2X中放入的是4的。 6plus 的单独做一个出来也就是@3X的。
Ipad 的有横竖屏的问题,我的解决方案是,放入横屏的图片,然后设置拉伸白色区域来匹配竖屏的,保持红色边框的不变。
不进行sizeclass。所有iPhone,ipad的都是any any的。
在2x 图片中放入4S对应的启动图片,然后对图片进行拉伸出来,将空白部分拉伸,红色框高度让保持不变。这样在模拟器上测试,4s 5 5s 6 6s 都是正常的。
我的启动图片如下:
SB中这个一定要勾选。
(1)
ok,ios8以上真机测试,模拟器测试都没有问题。