I have an application that allows the user to edit multiple text fields and views. Rather than mess around raising each view to the top when the keyboard is active, I decided to instead make one textView for editing and hide/show it when input is needed, then transfer the data when it is done. To move focus to the new textView, I call its becomeFirstResponder method, and lo and behold, the cursor goes to the right place. However if I use this method, the iPhone keyboard does not appear. I have no idea why. Can anyone explain, and tell me how to make the keyboard appear? All the other questions I've looked at seem to indicate that setting becomeFirstResponder for a textView ought to make the keyboard come up.
-Ash
Is Hardware -> Simulate Hardware Keyboard enabled?
Are you doing this whole thing programatically or using Interface Builder as well?
If so are the IB connections setup right?
Related
I want to do this because I tried to receive data by using textField via BLE. But the keyboard of the iOS always shows up when the textField becomeFirstResponder. So, is there any way to dismiss the keyboard for ever?
There is not way. I think your best option is don't use a textField. If you need to show any text you can use a label.
Anyway I really don't understand what you mean with "I tried to receive data by using textField via BLE"
So, I got the following image from graphic designer.
On the right is keyboard popping in our application, on the left is keyboard he sees everywhere else on his phone (iPhone 6), apparently. He wants the keyboard on the left to appear in our application too. This looks like standard iOS keyboard, only smaller, but I don't see any option to get it. How do I get it? Or is it just particularly popular custom keyboard/extension? Or maybe it's really easy to do custom keyboard/extension (note, I don't know a thing about custom keyboards/extensions in iOS)?
The keyboard is adjusted when you have inputAccessoryView assigned for active field.
check: https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/InputViews/InputViews.html
I am working on an app that uses voice commands to maneuver through text fields. What I need to do is translate the voice command into a touch event on the keyboard. Specifically I need to access the tab key and the return key. The user will not be using the keyboard in this app. I am having a difficult time finding a way to get this done. I know how to convert the voice commands into something that I can use, but I still need to apply that to the keyboard commands. I have researched this extensively and I get what I think are bits and pieces of what I really need, but nothing is connecting the dots for me.
You don't need the keyboard to navigate text fields. You just need to modify the first responder. There unfortunately isn't an easy way to get the current first responder, but you can search for it.
Once you have the first responder, you can move to the next field like this:
[[field nextResponder] becomeFirstResponder];
If you are trying to do this in a very general way, you should first call canBecomeFirstResponder and handle situations where there there are no available first responders and other corner cases, but this generally isn't needed for very simple interfaces.
If you want to manage "enter" in order to end editing and dismiss the keyboard, you can call endEditing: on the superview.
You can modify text without the keyboard by replacing the text property.
I have run into a baffling behavior using VoiceOver. Basically when using the "swipe forward" gesture on a screen, the cursor will run off the bottom of the screen and the view will not "move" with it as it should. Worse of all, I have a button down there that is not activated by a double tap when this behavior exists.
What I can gather is that this only seems to happen on two screens, both of which feature customized appearances of the cells in a table view.
I have tried manipulating the accessibilityFrame property of these cells and these table views. I have gotten nowhere. I have tried setting the accessibilityFrame property of the cells as they are made but there was no change in behavior.
Has anyone encountered this behavior? Any ideas for trying to tackle this problem?
I've seen it, but it's not a problem, at least not in my app -- you can double-tap anywhere, not just on the button. (In other words, a blind user won't realize this is going on, because it just works.)
I display a UITextView that I want the user to be able to copy from but not edit. There must be no keyboard present on the screen during the copy.
If I prevent first responder then the keyboard stays hidden. However this also prevents processing of events from touches that would allow a copy interaction. It also has to be editable to process touches as far as I know.
Is there an easy way to achieve this; a read-only, copy-only, no-keyboard UITextView? The docs are very terse on what "editable" guarantees, requires, and how is changes behavior.
Have you tried setEditable: NO? I know you say the docs don't describe it much, but they do say that it controls whether the receiver is editable. Did you try?
You've tried that, and the answer is to set editable to NO.