我试图为VoiceOver用户制作一个inputAccessoryView和键盘模态,以便他们不会迷失。设置如下:
view.accessibilityViewIsModal = YES;
textField.inputAccessoryView = view;
使键盘可见但不可用 - 它在模态视图之外。
接下来,在键盘出现后,我尝试了以下方法:
textField.inputAccessoryView.superview.accessibilityViewIsModal = YES;
这似乎有些超出范围,但几乎起作用了 - 但是在B之后的键(N、M空格等)无法导航。
接下来是这个:
textField.inputAccessoryView.superview.superview.accessibilityViewIsModal = YES;
一切都工作得很好。顺便说一下,那个视图的日志如下:
<UITextEffectsWindow: 0x17170290; frame = (0 0; 320 568); opaque = NO; gestureRecognizers = <NSArray: 0x17170710>; layer = <UIWindowLayer: 0x17170430>>
我的问题是:这样做是愚蠢的吗?看起来是的。这是合法的吗?UITextEffectsWindow是私有的,但我实际上并没有使用它,只是利用了它是一个视图的事实。
任何建议或解决问题的方法都会有所帮助。