You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加LaunchScreen.storyboard后Xcode Storyboard布局异常,如何恢复?

解决老Xcode项目添加LaunchScreen后布局异常的方法

核心问题根源

添加适配iPhone SE(第三代)的LaunchScreen后,Xcode启动时的设备尺寸识别逻辑被改变,导致App整体布局被强制适配为小屏设备规格,即便删除启动屏,缓存或配置残留仍会影响识别结果。

具体修复步骤

  • 清理项目配置残留

    1. 选中项目Target,进入General标签页,在Deployment Info区域确认Launch Screen File已设置为原主Storyboard(如Main)或留空,无无效启动屏引用
    2. 彻底删除模拟器中的App,执行Product > Clean Build Folder,重启Xcode后重新构建
  • 重置Storyboard适配设置

    1. 打开主Storyboard,右侧File Inspector中,确认Interface Builder Document下的View as选择为iPhone 6s(或你需要适配的目标设备),保存更改
    2. 若项目未启用Size Classes,保持原有设置不要随意勾选;已启用的话,检查所有布局约束是否基于相对位置而非固定尺寸
  • 修改Info.plist强制适配规则
    编辑项目的Info.plist文件,添加或调整以下配置:

    <key>UILaunchScreen</key>
    <dict>
        <key>UILaunchScreenName</key>
        <string></string> <!-- 留空表示不使用启动屏 -->
        <key>UILaunchScreenMinimumOSVersion</key>
        <string>9.0</string> <!-- 匹配项目Deployment Target版本 -->
    </dict>
    <key>UIRequiresFullScreen</key>
    <true/>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    

    若需保留启动屏,务必给启动屏添加Auto Layout约束(如控件贴边、相对比例),禁止使用固定宽高值。

  • 检查代码加载视图的布局逻辑
    确认第一个代码加载的视图控制器中,所有控件的布局约束是基于父视图边缘或UIScreen.main.bounds,而非硬编码第一代iPhone SE的320x568固定尺寸。


内容的提问来源于stack exchange,提问作者stackunderflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:48:13