iOS8 LaunchScreen.storyboard

我目前的需求是需要将启动图片通过LaunchScreen.storyboard  来实现。

我首先想到的是创建一个Sb,使用自动布局来布局imageview,并设置如下图:

iOS8  LaunchScreen.storyboard

iOS8  LaunchScreen.storyboard

iOS8  LaunchScreen.storyboard

布局好之后,在Image里面放置图片。然后设置配置。如下图:

iOS8  LaunchScreen.storyboard

我现在有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

所以

如下图

iOS8  LaunchScreen.storyboard

然后我遇到的问题是把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 都是正常的。

我的启动图片如下:

iOS8  LaunchScreen.storyboard
图片如下设置:

iOS8  LaunchScreen.storyboard

SB中这个一定要勾选。

(1)

iOS8  LaunchScreen.storyboard

ok,ios8以上真机测试,模拟器测试都没有问题。

上一篇:JS兼容各个浏览器的本地图片上传即时预览效果


下一篇:android通过HttpClient与服务器JSON交互