iOS多任务(iPad分屏模式)

首先,拿苹果官方的图来说说

%title插图%num
苹果将这个功能称作iPad多任务

使用前准备.
要将你iPad的旋转方向设置为全部支持.

%title插图%num
使用LaunchScreen.storyboard而不是LaunchImage.

%title插图%num
有人可能会问,如果我仅仅想支持全部旋转方向而不想支持多任务怎么办呢.我们可以通过在info.plist文件中添加一个UIRequiresFullScreen(PS:这个键值在info.plist里头找不到)的Boolean类型的键,设置为YES的时候就不会有拆分行为.设置为NO的时候就能拆分.

如何检测当前App是否支持多任务:

// readonly
let multitaskingSupported = UIDevice.current.isMultitaskingSupported;
%title插图%num

各个拆分形式对应的尺寸:

%title插图%num

如何在屏幕发生改变(也就是拆分视图大小发生改变)的时候动态改变布局呢.
1.按照自动布局指南、Size Classes(主要作用是不同屏幕适配)、模拟屏幕大小和方向.
2.LaunchScreen.storyboard必须采用自动布局.
3.通过实现UITraitEnvironment和UIContentContainer协议中的方法来响应特征收集和大小更改.
4.响应应用程序状态转换委托方法调用,如iOS应用程序编程指南中的应用程序执行状态中所述.