在iPad上,您可以使用 controller.modalPresentationStyle = UIModalPresentationFormSheet
在屏幕上显示居中的模态 . 一种常见的技术是允许用户通过单击"outside"或"behind"来解除模态 . 许多其他答案(Iphone SDK dismissing Modal ViewControllers on ipad by clicking outside of it,Dismiss modal view form sheet controller on outside tap)都包含了这一点,通常是通过向视图的UIWindow添加点击手势 .
我的问题是,如何在VoiceOver模式下让用户可以访问它?本机操作表允许表单外的点击关闭,甚至提示用户,说“双击以关闭弹出窗口” . 如何以相同的方式显示UIWindow轻击手势?
1 回答
FormSheet演示文稿基本上没有办法做到这一点 . 您可以使用Popover演示文稿,但在某些情况下它的行为会有所不同 .
我的解决方案是检查
UIAccessibilityIsVoiceOverRunning()
并在FormSheet的顶部添加一个额外的关闭按钮元素,可以通过配音单击 . 我还为global escape gesture实现了accessibilityPerformEscape
.