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

如何禁用iPad端App的SplitView分屏模式(代码/设置方式)

嘿,这个问题我熟!要禁用iPad上的SplitView分屏功能,其实有两种简单靠谱的方式,不管是用Xcode项目设置还是代码实现都能搞定,我给你详细拆解下:

方法一:通过Xcode项目设置禁用(最简便推荐)

这种方式不用写一行代码,几步就能搞定:

  • 打开你的Xcode项目,选中左侧导航栏里的项目根目录(注意不是单个Target)
  • 切换到右侧的「Info」标签页,找到「Deployment Info」区域
  • 在「iPad」的配置项里,勾选「Requires full screen」选项
  • 保存设置后重新运行App,iPad上的分屏和Slide Over功能就会被彻底禁用了

这个选项本质是告诉系统:你的App必须全屏运行,不支持任何多窗口分屏模式,是最直接的解决方案。

方法二:通过代码动态控制(适合特殊场景)

如果你需要根据某些条件动态开启/禁用分屏,或者更习惯用代码配置,可以在场景代理里添加逻辑:

Swift 版本(SceneDelegate)

在scene(_:willConnectTo:options:)方法中加入以下代码:

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    // 禁用分屏和Slide Over功能
    session.sceneActivationConditions.canActivateForTargetContentIdentifier = nil
    session.sceneActivationConditions.prefersFullScreen = true
}

Objective-C 版本(SceneDelegate)

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
    // 禁用分屏
    session.sceneActivationConditions.canActivateForTargetContentIdentifier = nil;
    session.sceneActivationConditions.prefersFullScreen = YES;
}

老项目(使用AppDelegate的情况)

如果你的项目还在用AppDelegate而不是SceneDelegate,可以在application:didFinishLaunchingWithOptions:里添加:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    application.isSupportsMultipleScenes = false
    return true
}

小提示

两种方法都能达到禁用分屏的效果,优先推荐项目设置的方式,更直观也不容易出错。另外要确认:禁用分屏后,用户就无法在iPad上通过分屏或Slide Over同时打开你的App和其他App了,这得符合你的产品需求哦!

内容的提问来源于stack exchange,提问作者Dmytrii G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:15:38