当条形码扫描设备通过蓝牙连接到iOS设备时,无法默认弹出键盘。

17

我连接了一个使用蓝牙连接的条形码扫描设备,但是键盘出现了问题。

流程:

1) 我打开了蓝牙,并通过输入显示的代码进行连接,成功连接了条形码扫描设备。

2) 尽管我们调用了 becomeFirstResponder 方法,但默认的键盘没有显示,尽管我能够使用扫描仪。

3) 当我断开扫描设备或关闭蓝牙连接时,键盘才会出现。

注意:以下是我使用的条形码扫描设备的链接

条形码扫描设备信息

是否有人遇到过这种问题? 请建议如何解决此问题。

提前感谢..!


你能否查看视图调试器,以确定键盘是否隐藏在某些视图后面? - Teja Nandamuri
4
连接为外部键盘的扫描仪将防止屏幕键盘出现。 - Paulw11
@Paulw。如何解决这个问题?我们可以在textFieldShouldBegin代理方法中关闭蓝牙连接吗?这样键盘就会出现。 - Vidhyanand
1
你不能这样做。用户需要关闭扫描仪。一些HID扫描仪有一个按钮来显示屏幕键盘。看起来这个没有。MFI或BLE扫描仪是更好的选择。 - Paulw11
@Vidhyanand,你找到解决方法了吗?我也遇到了同样的问题。 - Subin
2个回答

6

这个解决方案仅适用于iPad。当软键盘消失时,只需按住屏幕右下角的向下箭头,软键盘就会回来。


太棒了。很想知道你是怎么找到那个信息的。现在我只需要找到类似的东西适用于Android... - B5A7

2
我们很清楚,蓝牙扫描仪正在假装成一个蓝牙键盘,因此iOS认为不需要显示屏幕上的键盘。
对于条形码扫描器类型,socket mobile现在添加了一个功能来打开iPad上的虚拟键盘。例如,Socket CHS有一个新的按钮按下选项。您可以检查您的设备是否具有相同的功能(这可能会有所帮助)。 使用真实键盘唤出虚拟键盘是个好主意。 当您将蓝牙键盘连接到iPad时,虚拟键盘将停止出现。(这是一件好事。)然而,如果由于某些原因,您需要那个虚拟键盘怎么办?不要解除配对蓝牙。只需按下苹果物理键盘上的弹出键即可打开虚拟键盘。 还有另一种尝试解决此问题的方法,我个人尝试过,但非常不稳定。考虑到它是一种黑客行为,预计会出现不稳定的行为。 这篇回答(https://dev59.com/SHA75IYBdhLWcg3wYH_I#3837131)是对一个相关问题的解答,其中似乎使用了基于 UITextField 的 inputAccessoryView 的黑客技巧。
甚至用户@Kurt Arnlundthis answer中提到了一个名为KeysPlease的外部应用程序,链接在此处。我真的没有尝试过它,你可以试试。

总之,似乎有一种干净的方法来解决这个问题,我认为这些可能是达到解决方案的最佳尝试

来源:

参考资料
蓝牙扫描器设置系统键盘,UITextFields不会在响应器上显示软键盘
连接蓝牙键盘时强制显示屏幕键盘
即使连接了硬件键盘,也要显示iPhone软键盘


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接