【发布时间】:2018-06-20 02:17:25
【问题描述】:
在 iPad 上,您可以使用 controller.modalPresentationStyle = UIModalPresentationFormSheet 在屏幕上显示居中的模式。一种常见的技术是允许用户通过单击“外部”或“后面”来关闭模式。这在许多其他答案中都有介绍(Iphone SDK dismissing Modal ViewControllers on ipad by clicking outside of it,
Dismiss modal view form sheet controller on outside tap),通常是通过向视图的 UIWindow 添加轻击手势。
我的问题是,如何让 VoiceOver 模式下的用户可以访问它?本机操作表允许在工作表外单击以关闭,甚至提示用户说“双击以关闭弹出窗口”。如何以相同的方式公开 UIWindow 轻击手势?
【问题讨论】:
-
一种选择是通过
accessibilityPerformEscape实现“全局转义手势”(如ronnqvi.st/adding-accessible-behavior 中所述)。但是,如果用户不知道该手势,则这不是很容易发现。 -
仅供参考 - 通过点击外部操作表或其他弹出框来关闭它们的默认功能内置于以“弹出框”模式呈现样式呈现的控制器中。
-
@rmaddy 是正确的 - 系统自动提供了该功能,并且表单样式不支持点击外部关闭(不适用于 VO 用户或非 VO 用户)
标签: ios uikit voiceover uiaccessibility