IOS模态窗口的作用与设计原则

模态窗口作为一种屏幕交互元素,以弹出的形式占据屏幕的部分区域,其设计的目的在于中断用户当前操作流程,引导用户聚焦于一个独立的操作流程或特定任务,从而保证操作的专注性与连贯性,避免用户被其他信息干扰。

一、从屏幕底部呈现

在IOS中模态窗口从底部向上出现,因为模态窗口会打断信息层级结构,从屏幕底部向上弹出会覆盖住标签栏,这就阻止了用户进一步深入APP,这种打断操作是有意为之,其目的是让用户集中注意力在模态窗口中的操作或任务。

二、用于简单任务、简单任务多步骤任务全屏内容展示

模态窗口可以用于简单任务多步骤任务全屏内容展示

下面以一个简单任务的操作流程来举例。比如设置提醒,设置提醒需要用户编辑或者修改输入字段,在此过程中保持专注,有助于用户不受干扰的完成任务,还可以降低用户因为误点其他元素而让操作报废的可能性,而对于需要处理复杂任务的操作流程,一般需要涉及多个步骤。

比如在钱包APP中添加银行卡,在这种情况下使用模态窗口,目的是防止用户在任务完成或者取消之前在APP中随意切换从而让用户集中注意力。

当查看文章视频,或者无需太多页面切换的全屏内容时也可以使用模态窗口。例如在建设APP中,通过打开一个健身视频来开始锻炼。

三、使用"取消"操作和首选操作关闭模态窗口

标签和交互操作的使用能够帮助用户清楚知道自己所在的位置,标题能够帮助用户明确模态弹窗的内容,右侧的标签一般用于首选操作,所以通常会用粗体显示来强调重要性,用简单的动词来做标签,能明确的高数用户点击之后会发生什么。

首选操作可以关闭模态窗口,同时保存上一步的操作,如果在模态窗口上尚未输入信息或者进行交互,首选操作不会激活,这样可以明确提示用户需要先填写字段才能保存或继续操作;当用户已经进行了操作,使用左侧的取消来关闭模态窗口,就表明用户要放弃当前的操作了。

如果在点击取消之前就已经输入了信息,这时就可以出现一个警告或者Action Sheet,让用户知道如果继续点击取消他们会丢失数据,但如果用户尚未与界面进行交互,点击取消就会直接关闭模态

窗口。

四、只在交互很少的模态窗口中使用关闭符号

关闭符号仅在模态窗口所需的交互很少,无需文本输入的时候使用。

有时可以在模态窗口中看到一个叉号,作为关闭窗口的主要方式,比如APP Store今日标签中的文章,关闭符号可以用在这里,是因为这里无需用户输入,简单的关闭操作有助于用户专注于内容。

下面举个例子来说明关闭符号,在需要输入和交互的模态窗口里为何会出现问题,当用户选择了一个筛选器后,如果点击关闭,刚刚的选择是会提交还是取消呢?如果没有明确的提示,用户就会不确定点击关闭会发生什么,所以最好在导航栏中使用标签,因为这样更明确,操作也更清晰。

五、尽量减少多个模态窗口的叠加

最后要避免在模态窗口上再去叠加窗口,因为这样做会过于复杂,模态窗口本身是支持子示图以及切换页面的。

在这个界面中文本字段和表格单元格可以进行选择和输入,因此可以进行交互,而不仅仅是查看,例如用户可以点击某个添加在行程上的一位朋友所在的表格单元格,点击之后可能会出现关于Kata Grella朋友的信息,并为用户提供将他从行程中移除的选项。不过添加好友和上传照片的入口此时都是可操作的状态,这些情况都是属于操作流程中的操作。首先用户要添加一份行程表,然后要在行程表上添加照片,上传照片的操作涉及到相当多的交互,比如要在相册中滚动并且选择一张新的照片,这样的操作也属于独立任务,选择好照片后该模态窗口可以关闭,用户又回到了之前的模态窗口里。

我们在设计时要尽量避免多个模态窗口的叠加,不过在某些情况下这也是必要的,因为可以帮助用户在子视图中保持注意力

文章结束啦,每天进步一点点,加油!!!

以上就是本篇文章的全部内容,学习笔记整理自 B 站视频:【视频标题】(链接:https://www.bilibili.com/video/BV1EYrTYfEPT?spm_id_from=333.788.player.switch&vd_source=d57ed8f83e9c00c01ca7916b0e6917ce),仅用于个人技术交流学习。

相关推荐
To_OC7 分钟前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC38 分钟前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼2 小时前
三、大括号语法
前端·react.js
kyriewen2 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn3 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2333 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise4 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢5 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js
IT_陈寒5 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端