iOS如何使用LaunchScreen.storyboard适配多尺寸屏幕实现多设备差异化启动图
使用LaunchScreen.storyboard实现多设备多方向差异化启动图方案
具体实现方法
- 先将所有已优化的启动图资源导入Xcode的
Asset Catalog,按设备类型、屏幕方向规范命名,例如launch_iphone_portrait(iPhone竖屏)、launch_iphone_landscape(iPhone横屏)、launch_ipad_portrait(iPad竖屏)、launch_ipad_landscape(iPad横屏),方便后续匹配调用。 - 打开项目中的
LaunchScreen.storyboard,向默认的ViewController根视图内拖入一个UIImageView控件,为该控件添加上、下、左、右四条边距约束,全部对齐根视图边缘,确保启动图可以铺满整个设备屏幕。 - 选中该
UIImageView,打开Xcode右侧的Attributes Inspector面板,找到Image属性,点击属性右侧的+号添加基于Size Class的自定义适配规则:- 适配规则1:idiom选择iPhone,orientation选择Portrait,对应Image值选择iPhone竖屏启动图资源
- 适配规则2:idiom选择iPhone,orientation选择Landscape,对应Image值选择iPhone横屏启动图资源
- 适配规则3:idiom选择iPad,orientation选择Portrait,对应Image值选择iPad竖屏启动图资源
- 适配规则4:idiom选择iPad,orientation选择Landscape,对应Image值选择iPad横屏启动图资源
- 将
UIImageView的Content Mode设置为Aspect Fill,同时勾选Clips To Bounds选项,避免不同屏幕尺寸下出现图片拉伸变形的问题。 - 切换不同设备的模拟器、分别测试横竖屏场景,验证各场景下启动图展示符合预期即可。
关于官方无相关说明的原因
苹果官方主推启动屏使用自适应布局,默认引导开发者使用通用元素(如品牌logo、纯色背景)设计启动屏,降低适配成本,因此没有针对“不同设备不同方向展示完全独立启动图”这类个性化场景制作专门的说明文档。上述用到的Size Class适配规则是iOS界面开发的通用基础能力,苹果默认开发者可直接将该能力复用在启动屏配置场景中。
内容的提问来源于stack exchange,提问作者Siempay
相关产品推荐
相关产品推荐

