我製作了一個使用藍牙條形碼掃描器的應用程序。當連接條碼掃描器時,屏幕鍵盤不會再出現。因此我無法使用屏幕鍵盤輸入文字。通過條形碼進行文本輸入並不是非常方便(因爲我想輸入非常可變的數據),所以我正在尋找一種方法來顯示屏幕鍵盤,儘管連接了外部鍵盤。 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,但是當連接外部鍵盤(或掃描儀)時,這是無用的。