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

Xcode Playground Live View导航控制器顶部被裁剪如何解决

解决方法

你遇到的裁剪问题是Xcode Playground默认不会为Live View自动指定适配iOS界面的尺寸,也不会预留状态栏显示空间导致的,以下是两个可行修复方案:

  • 方案1:手动指定导航控制器的显示尺寸为标准iPhone尺寸,适配绝大多数场景
    修改后完整代码如下:
import UIKit
import PlaygroundSupport

final class ViewController: UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    title = "View Controller"
    view.backgroundColor = .white
  }
}

let viewController = ViewController()
let navigationController = UINavigationController(rootViewController: viewController)

// 指定为iPhone SE(第二代)标准尺寸,可自行替换为其他iPhone型号的宽高
navigationController.view.frame = CGRect(x: 0, y: 0, width: 375, height: 667)
// 告知Playground期望的展示尺寸
navigationController.preferredContentSize = navigationController.view.frame.size

PlaygroundPage.current.liveView = navigationController
  • 方案2:额外调整顶部安全区(如果方案1仍然有顶部裁剪可以补充这行配置)
    在设置preferredContentSize之后添加以下代码,给顶部预留状态栏高度的安全空间:
navigationController.additionalSafeAreaInsets = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0)

配置后导航栏会完全避开顶部裁剪区域,完整显示。你也可以根据需求替换frame的宽高为其他iPhone的尺寸,Playground会自动按比例缩放展示内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 19:54:04