当VoiceOver处于活动状态时,在UITextField中关闭UIKeyboardTypeNumberPad?

时间:2015-06-16 15:50:18

标签: ios uitextfield voiceover uikeyboardtype

如何解除键盘类型为UITextField的{​​{1}}? this question接受的答案建议添加一个带有关闭按钮的栏作为UIKeyboardTypeNumberPad,或者在后台收听触摸事件。

我更喜欢第二种方法,即在包含inputAccessoryView的视图上收听触摸事件。但是,如果VoiceOver处于活动状态,此方法将失败。在那种情况下你如何UITextField

1 个答案:

答案 0 :(得分:1)

您需要另一种方法来执行手势。您必须在布局中添加一个按钮。对不起......

您应该能够检查VoiceOver是否打开。

BOOL UIAccessibilityIsVoiceOverRunning();

您还可以考虑向不可见的UI元素或完全由其他元素覆盖的父视图添加点按识别器。这样,它只能由VoiceOver用户激活。