当蓝牙键盘连接时,强制显示屏幕键盘

12

我正在开发一个应用程序,需要连接蓝牙扫描仪。扫描仪作为键盘输入设备,但没有按键,只有一个扫描按钮。我遇到的问题是屏幕上有一些UITextFields需要用户与之交互。

当用户点击文本框以输入数据时,由于iOS认为已经通过蓝牙连接了完整的键盘输入设备,因此没有弹出屏幕键盘。

如何在UITextField“成为第一响应者”时强制显示屏幕键盘?

提前感谢!


嗨,我正在关注你的问题,因为我也遇到了同样的问题。你找到解决方法了吗?你能知道键盘是否可见吗? - Shahar Biran
2个回答

8
问题在于蓝牙扫描仪伪装成蓝牙键盘,因此iOS认为不需要显示屏幕键盘。
不幸的是,这没有简单的答案。一些扫描仪有一个按钮,可以强制显示屏幕键盘。有些允许您在“iPhone模式”(或类似模式)下配对,以便它不作为蓝牙键盘操作。
与相关问题的答案(https://dev59.com/SHA75IYBdhLWcg3wYH_I#3837131)提供了一个基于UITextField的inputAccessoryView的黑客式解决方案,但我个人尚未验证,因此无法多说。祝好运!

-1

你尝试过 [myTextField becomeFirstResponder]; 吗?


是的先生!文本字段确实变为活动状态,并成为“第一响应者”,但键盘仍然没有显示。 - Louie
也许可以发布一些用于创建蓝牙扫描器的代码? - WrightsCS
我没有创建任何代码。这是默认的蓝牙连接。我使用这个设备http://serialio.com/products/scanner/mobile/Scanfob_2002.php 我购买了它,并通过iOS的默认蓝牙连接将其连接。它作为键盘输入。所以我通过设置>通用>蓝牙>添加设备...将其连接。 - Louie

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