iOS11界面设计指南之功能(System Capabilities)–多任务(Multitasking)


Notice: Undefined variable: class_attr in /data/wwwroot/default/wordpress/wp-content/plugins/jquery-image-lazy-loading/jq_img_lazy_load.php on line 57

Notice: Undefined variable: class_attr in /data/wwwroot/default/wordpress/wp-content/plugins/jquery-image-lazy-loading/jq_img_lazy_load.php on line 57

引自《iOS12界面交互设计规范(iOS 12 Human Interface Guidelines)》

 

多任务模式允许用户可以在任意一个iOS设备上通过多任务交互方式随时快速的进行应用间切换,或者体现为iPad上的多手指手势操作。而在iPad上,多任务模式还支持用户通过滑出(Slide Over),分屏(Split View)以及画中画(Picture in Picture)模式在同一时间同时使用两个应用。滑出支持用户由屏幕右侧滑动进行激活,从而用户可以在暂时不离开当前应用视图的情况下使用第二个应用,具体例如当用户使用Safari进行网页浏览时也可以快速查看邮箱。分屏则允许用户一半一半同时使用两个应用,而画中画通常表现为在你观看视频的时候可以操作另一个应用。

设计一个支持与其它应用在多任务模式下可以同时被使用的应用,意味着你的应用不应该使用太多的CPU,内存,屏幕空间或者其它系统资源。并且应用应该再被其它应用或音频打断时可以进行很好的响应,以及可以在后台及前台间快速平滑的进行切换,且当在后台进行操作时也可以进行非常好的响应。

 

滑出(Slide Over)

 

分屏(Split View)

 

画中画(Picture in Picture)

 

 

准备好被打断,准备好随时恢复(Be prepared for interruptions, and be ready to resume. )你的应用可能会随时被打断。当一个打断操作来袭时,你的应用应用能够快速精准的保存当前状态这样当用户再次返回的时候才能够无缝继续进行操作。相关应用开发教程,请参考App Programming Guide for iOS中的Preserving Your App’s Visual Appearance Across Launches

 

确保应用界面可以在两倍高状态栏下正常工作(Make sure your interface works with a double-high status bar. )非常必要的特征,如正在通话中的来电,录音等都会在屏幕顶部显示额外的状态栏。对于对此未做准备的应用,这个额外添加的高度很能会导致界面布局混乱或者其它界面元素被向下挤压。在你的app中测试这些情况以保证你的界面能够应对自如并且仍然看起来很棒。

 

在需要用户集中注意或进行参与的应用被激活时暂停当前应用(Pause activity that requires attention or active participation. )如果你的应用是一个游戏或者多媒体视图类应用,那么请确保用户在进行APP间切换时不会丢失任何信息;且当用户返回应用时允许他们继续进行之前的操作感觉像从来没有离开过一样。

 

恰当的响应外部音频(Respond appropriately to external audio. )不时地,你的应用音频可能会被来自其他应用或系统的音频所打断。例如来电铃声或者由Siri激活的音乐播放。当出现这种情形时,你的应用应该能够以用户所期待的方式进行响应。对于长久性音频打断,如播放音乐,收音机或者有声读物时,你的应用应该毫无疑问的立即暂停。对于较短暂性的打断,如GPS位置提醒,这时你的应用只需暂时性的降低声音或者暂停且当打断结束后进行恢复,更多内容可参考Audio

 

在后台来完成用户发起的任务(Finish user-initiated tasks in the background. )当用户发起操作后,用户其实是期望即使他们切换到其它应用后任务也可以被完成。如果你的应用正处于一个任务中中间进行状态且不需要用户进行额外的输入那么可以在任务被取消前在后台完成。

 

节制地使用通知(Use notifications sparingly.)不论你的应用是否被关闭,或者正在后台运行,或者完全没有运行,你的应用都应该能够组织安排通知发送的具体时间。通知是一种非常好的推送重要信息的交流方式,但是也要避免发送太多打扰用户。比如,不要在你的应用在后台完成每一个任务后均发送通知给用户。相反的,去引导用户通过返回你的应用来查看任务状态。更多信息请查看Notifications