12

I have to have a bluetooth scanner connected to an app I am developing. The scanner acts as a keyboard input but there are no keys, only a button to scan with. The problem I am running into is there are a few UITextFields that a user needs to interact with on the screen.

When the user taps the textfield to enter in data, no keyboard pops up because the iOS thinks there is a full keyboard attached via bluetooth.

How can I force the screen keyboard to show up when the UITextField "becomes first responder" ?

Thanks in advance!

Louie
  • 5,920
  • 5
  • 31
  • 45
  • Hi, I'm following your question as i'm facing with same issue. Did you find a way to solve this ? Can you know if the keyboard is visible or not ? – Shahar Biran Jul 21 '21 at 11:23

2 Answers2

8

The problem is that the Bluetooth scanner is pretending to be a Bluetooth keyboard, so iOS thinks that it doesn't need to show the onscreen one.

Unfortunately there's no easy answer for this. Some scanners have a button you can press that will force the onscreen keyboard to come up. Some allow you to pair in "iPhone mode" (or something similar) so that it doesn't act as a Bluetooth keyboard.

This answer to a related question (https://stackoverflow.com/a/3837131/493988) has what seems like a hack based on a UITextField's inputAccessoryView, but I haven't personally verified it so I can't say much about it. Good luck!

Community
  • 1
  • 1
Mike Glass
  • 106
  • 2
  • 5
-1

Have you tried [myTextField becomeFirstResponder];?

WrightsCS
  • 50,551
  • 22
  • 134
  • 186
  • Yes sir! The textfield does become active, and the "firstResponder" but the keyboard still does not show. – Louie Sep 03 '11 at 01:49
  • maybe post some code you use to create the bluetooth scanner? – WrightsCS Sep 03 '11 at 01:50
  • I didnt create any code. Its the default bluetooth connection. I use this device http://serialio.com/products/scanner/mobile/Scanfob_2002.php I bought it and connected it via the default bluetooth connection for iOS. It acts as a keyboard input. So I connected it with Settings > General > Bluetooth > add device... – Louie Sep 03 '11 at 01:57