2011-02-24 70 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

相關問題