何时使用 UIAlertView 与 UIActionSheet

Posted

技术标签:

【中文标题】何时使用 UIAlertView 与 UIActionSheet【英文标题】:When to use a UIAlertView vs. UIActionSheet 【发布时间】:2009-07-28 11:03:38 【问题描述】:

是否存在 UIAlertView 比 UIActionSheet 更好用的情况?您会在哪些典型场景中使用其中一种?

我正在编写导航栏按钮以在外部应用程序中打开 UIWebView,起初我开始编写 UIAlertView,然后我认为操作表可能更适合这种情况。

是否有在不同情况下使用的正式指南?谢谢。

【问题讨论】:

【参考方案1】:

来自苹果的 iPhone Human Interface Guidelines:

警报、操作表和模式视图 旨在沟通不同的 事情:

警报为用户提供影响其使用的重要信息 应用程序(或设备)。 警报通常是出乎意料的,因为 他们通常会告诉用户一个 问题或当前的变化 可能需要用户 采取行动。 操作表为用户提供与他们正在执行的操作相关的额外选择 目前服用。用户学会 期待一个动作的出现 当他们点击工具栏按钮时工作表 这开始了一个潜在的 破坏性行为(如删除 所有最近的电话)或一个动作 可以通过不同的方式完成 (例如用户的发送操作 可以指定几个之一 目的地)。 模态视图在 当前任务或提供一种方法 执行直接相关的子任务 用户的工作流程。

【讨论】:

【参考方案2】:

改进@Brad Larson♦ 答案并更新信息(因为他的答案中的链接已损坏),这里有更多详细信息,何时应该使用警报、操作表或模式视图:

警报:

显示必填标题和可选消息 包含一个或多个按钮

提醒的不频繁出现有助于用户认真对待它们。最好尽量减少应用显示的提醒数量,并确保每个提醒都提供重要信息和有用的选择。

行动表:

显示为用户操作的结果 显示两个或更多按钮

使用操作表来:

提供完成任务的替代方法。操作表可让您提供一系列在当前任务上下文中有意义的选择,而无需在 UI 中永久放置这些选择。李> 在完成潜在危险任务之前获得确认。操作表会提示用户考虑他们将要采取的步骤的潜在危险影响,并为他们提供一些替代方案。

模态视图:

可以占据整个屏幕、父视图的整个区域(如弹出框)或屏幕的一部分 包含完成任务所需的文本和控件 通常会显示一个完成任务并关闭视图的按钮和一个放弃任务并关闭视图的取消按钮

当您需要提供完成与应用的主要功能相关的独立任务的能力时,请使用模式视图。模态视图特别适用于需要始终不属于主应用 UI 的 UI 元素的多步骤子任务。

来源:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Alerts.html

【讨论】:

以上是关于何时使用 UIAlertView 与 UIActionSheet的主要内容,如果未能解决你的问题,请参考以下文章

IAP iOS UIAlertView 取消按钮

UIAlertView 已弃用:首先在 iOS 9.0 中弃用 - UIAlertView 已弃用。将 UIAlertController 与首选样式一起使用

IOS开发之UIAlertView与UIAlertController的详尽用法说明

UIAlertView 显示方法与新的 UIAlertController 对象等效吗?

iOS UIAlertview 与 uitextview 可编辑

UIAlertView 没有禁用所有交互