iOS9新特性 - Split Screen Multitasking

在iOS9中最大变化之一就是引进了多任务。多任务允许多个app同时展现在屏幕上面。它有两种表现方式:Slide Over View 和 Split View。

一、Slide Over View


在 slide over view 中,用户可以通过右滑来展示app的列表,然后可以选择一个应用打开,此应用便会在右侧的狭窄的区域里面显示具体的内容。而在右侧展示的app的列表,就是之前用户打开过并且没有被"杀死"的app。然而左侧的app不会产生任何的用户交互。


二、Split View



为了打开split view, 用户可以在slide over view的基础上,往左拖拽垂直分割线。用户只需要拖拽应用之间的垂直分割线,就可以直接控制两个应用的尺寸。在拖拽过程中,当split view被激活后,那么此时界面上的应用不分前台还是后台应用了,他们都是前台应用。

注:split view目前只支持iPad Air 2。


在你的app中启用多任务

用Xcode7创建的项目默认具有多任务的功能,如果你已经有一个应用,你需要手动的启用多任务的功能,当你在使用iOS9 SDK的时候,这里有两件事情需要处理。

1. 在你的app中,启用所有方向的用户界面交互。

2. 使用 Launch Storyboards。


选择性启用或者禁用多任务功能

如果你的app已经完成了以上的步奏,那么在iOS9环境下,多任务功能就是可以使用的。如果你希望选择性的关闭这个行为,那么在info.plist文件中配置UIRequiredFullscreen这个节点就可以了。


不要再使用UIInterfaceOrientation

从理论上分析,如果你的app支持了多任务的功能,那么UIInterfaceOrientation就不起作用了。如果你的app使用了多任务的功能,你又想检测当前的UIInterfaceOrientation,但是此时,你不能确定你的app是否运行在全屏环境下。如果你的app是前台app并且iPad处于横屏状态,即时app的竖直方向上面的高度大于水平方向上面的宽度,但这个app的UIInterfaceOrientation值还是会返回UIInterfaceOrientationPortrait,而实际上此时的iPad出于横屏状态。

但是有时候,你有根据app的窗口大小来修改用户界面元素的位置或者大小的需求,那我们需要怎么做呢?答案是使用traitCollection.horizontalSizeClass。它给你的用户界面提供了Size Class信息。通常来说,你可以通过它在你的app中放置视图等元素。


尺寸变化过度事件

在早前,当用户屏幕发生旋转的时候,如事件willRotateToInterfaceOrientationdidRotateToInterfaceOrientation是被建议用来检测界面尺寸变化的。到了iOS8之后,苹果引进了willTransitionToTraitCollectionviewWillTransitionToSize.而这些事件到了iOS9中之后变得更加有作用,因为他们可以和多任务结合使用。为了检测用户界面是出于横屏还是竖屏状态,你可以手动对宽度和高度进行比较工作。


对键盘事件的响应

在以前,你的app被键盘影响的唯一时刻就是你打开了自己的app,键盘会伴随着你的app的打开或者关闭的。现在,键盘出现在你的app的上面成为了一种可能。即使用户没有从你的app中打开键盘。

iOS9新特性 - Split Screen Multitasking_第1张图片


你可能感兴趣的:(view,view,键盘,over,slide,IOS9,Spit,旋转事件)