2011-02-24 63 views
4

我制作了一个使用蓝牙条形码扫描器的应用程序。当连接条码扫描器时,屏幕键盘不会再出现。因此我无法使用屏幕键盘输入文字。通过条形码进行文本输入并不是非常方便(因为我想输入非常可变的数据),所以我正在寻找一种方法来显示屏幕键盘,尽管连接了外部键盘。 Apple无线键盘通过将弹出键发送到iPad来实现这一点。Apple iOS:Howto将“弹出键”发送到文本输入系统

我有一个弹出键的键码161我可以做一个NSString与弹出键如下在互联网上找到:

// Put the eject key Unicode U+23CF in a NSString. Two different ways possible: 
NSString *eject = [NSString stringWithFormat:@"%C", 0x23CF]; 
NSString *eject2 = [NSString stringWithUTF8String:"\u23CF"]; 

当查看调试器,无论是NSString的显示弹出图标, NSString的内容,所以看起来我有代码正确填充NSString与弹出按钮。但我的问题是,如何将此NSString发送到键盘输入系统以触发屏幕键盘弹出?我无法通过制作带有“\ u23CF”内容的条形码发送它,因为它不被识别为UTF8字符串。设置UITextField的文本(带或不带返回键)也不会完成这项工作。

任何人都可以帮我解决这个问题吗?我错过了什么吗?据我所知,苹果公司给我们的屏幕键盘上唯一的控制权是使用becomeFirstResponder和resignFirstResponder,但是当连接外部键盘(或扫描仪)时,这是无用的。

回答

0

我们正在寻找同样的事情。也许这些链接中的一个可能会帮助您找到答案。

代码128似乎允许您发送ASCII字符,通常这些是不可打印的。 http://en.wikipedia.org/wiki/Code_128

这里是一篇文章,其中一个库用于创建UTF-8条形码,但不幸的是他们没有给出图像的样本。也许代码将足以给你一个想法: http://www.aspose.com/docs/display/barcodenet/How+to+Generate+and+Recognize+BarCodes+for+UTF+8+%28Unicode%29+Characters

这是我最初的发现。虽然这是另一个软件的家伙使用Code 128发送Ctrl-B字符: http://www.psoft.com.au/baslogue/help/person/setting_up_scanner.html

相关问题