我试图将外部扫描仪与HID接口集成,因此我使用UITextView捕获扫描仪数据(HID设备就像键盘一样),屏幕上有几个嵌套视图,我显示一个表在子视图中查看主要细节。
我使用UISwitch(带标签"使用外部扫描仪")强制关注我的UITextView,如果我启用了开关,则扫描仪被正确读取并且工作正常。
层次结构它类似于:
我的应用程序使用故事板,我的问题是在强制关注UITextView后,如果我触摸表格视图并出现详细视图,焦点似乎丢失,扫描仪不再被读取。我已经检查了UITimer,它每2秒运行一次UITextView仍然是第一个响应者(我使用这个答案找到第一个响应者:https://stackoverflow.com/a/14135456/661140),但由于某种原因没有响应。
我尝试使用- (void)textViewDidEndEditing:(UITextView *)textView
检测焦点何时丢失,但它无法正常工作
- (void)textViewDidEndEditing:(UITextView *)textView
{
if (textView == _hiddenTextExternalScannerTextView)
{
NSLog(@"Text view has lost the focus in textFieldDidEndEditing");
}
}
有谁可以告诉我为什么UITextView没有响应键盘事件?有没有办法检测该字段何时不再响应?
我在没有HID设备的情况下进行了相同的测试,只进行了内部键盘测试,当我从字段中浏览时,键盘被解除,但仍然像第一响应者一样检测到该字段。