Create text field with keyboard in Xcode - ios

Is there any way to make a text field with keyboard (such as Twitter or Whatsapp)?
I tried to find some help from Google but I could not.
Can anyone help me with this issue or at least to direct me where I can find some info?

You can use the built-in UITextField for the text, but I assume your problem is with getting the field to rise with the keyboard when the user selects it.
This is a bit of a tricky problem, but the general solution is to use a UIScrollView and tell the keyboard to scroll when the user selects the field. This is especially important in iOS 8, which introduces custom keyboards; because third party keyboards can be any height, you can no longer hardcode the default keyboard height to scroll to.
Apple describes how to use this approach under "Moving Content That Is Located Under the Keyboard" in their "Text Programming Guide for iOS."

Related

VoiceOver does not repeat typed character on custom text view with UITextInput

I have custom text view that implement UITextInput. Everything works except the voiceover does not repeat the characters I typed using soft keyboard.
Is there any additional API or services I need to implement in order to make it work?
Unfortunately, now it seems that VoiceOver cannot announce the soft keyboard feedback made by native code.
But it possible to get VoiceOver feedback at text field of WebView().
So, I'm making iOS App by this way.

iOS accessibility: what are the pros/cons for hardcoding "double tap to activate" as hint?

iOS has built-in support for accessibility, for UIButtons it reads the title of the button followed by a hint "double tap to activate" (by default). Sometimes we are required to make a non-UIButton control behaving similar to UIButton in terms of accessibility, so we would set its accessibility trait to button and hardcode "double tap to activate" for accessibilityHint.
I don't like altering system behaviours, and I've seen accessibility users who prefer single tap instead of double tap (there's an option they can set), although I haven't checked if the opt for single tap instead of double tap, does the system hint become "single tap to activiate".
What is the common practice regarding accessibility support for a non-UIButton control that is tappable? Thanks!
I've seen accessibility users who prefer single tap instead of double tap (there's an option they can set)
I'm really curious to know how it's possible using VoiceOver because a single tap with one finger deals with the accessibility focus. In the UIButton documentation, Apple states: 🤓
VoiceOver speaks the value of the title [...] when a user taps the button once.
Would you mind detailing the way to activate this option you mentioned because I'm really astonished, please? 🤔
What is the common practice regarding accessibility support for a non-UIButton control that is tappable?
Using a hint is a very good practice to provide useful information to the user but this information mustn't be crucial for using because the accessibility hint may be deactivated in the device settings.😰
Admittedly speaking, this kind of element must be read out in such a way that its goal and its using are clear enough for any user: that's what traits are made for. 👍
Many traits are well known and give rise to different actions like adjustable values, customed actions and the rotor items using.
Besides, it's also possible to use the accessibilityActivate() method so as to define the purpose of a double-tap with one finger of an accessible element. 🤯
The way you want to vocally expose the possible actions on a tappable control depends on the content of your application.
Finally, keep in mind that hardcoding a hint must be understood as a plus information but definitely not as an essential one because it can be deactivated by the user: a conception oriented a11y is very important when building an app. 😉

Customising the Decimal pad in my app

Swift...
So I've got an existing app and I'm working on its appearance. The current task is customising the decimal pad that pops up when the user hits a textField.
I've looked around on how to make it but it always seems that you have to go into the iPhone/ipad settings and add the custom keyboard.
eg. This StackOverFlow Question
and they all seem to point to this same tutorial..
iOS 8: Creating a Custom Keyboard
My problem is that I don't want the user to have to go into settings.
So the question is....IS THIS POSSIBLE?
The following pic is what I want to use. I have made this in an XIB file through adding a target keyboard which makes the new folder with KeyboardViewController.swift , info.plist and NumPad.xib. Though i think I'm on the wrong track, can someone point me the right way please.
Also anyone know the exact dimensions this view should be.. assuming what I'm asking is in fact possible. Let me know if I'm not being clear enough!
NumPad.xib(pic)
Many many thanks,
Steve
SOLUTION: Thanks to Andrea for correcting my search keywords. It led me to this Stack Question which hopefully sends some others to the correct end of the internet that have mistakes custom keyboard with custom input views!
Sure it is possible without going into settings, but they are called custom input views.
You should look into inputViews here what Apple says about them Custom views for data input.
Basically when the user press a text field instead of loading the usual keyboard it loads an inputView that you specify, pay attention that custom keyboard term is misleading. If you google for tutorial you'll find most probably link like the ones that you found.
For a practical example check this tutorial or this, is a little bit old, but the principle are still the same

iOS Email keyboard customize

In my app, I have a UITextField using UIKeyboardTypeEmailAddress.
There is space key in bottom centre. I think space key is no needed.
So I'd like to change the key to gmail.com or hotmail.com.
Is it possible?
Even if it's possible, Apple will approve it?
Yes, instead of using UIKeyboardTypeEmailAddress you could design your own input view (which I suppose in your case would be whatever keyboard you design) and then set that as the input view of your text field.
Sample code can be seen in this tutorial, and more information can be found in this official Apple documentation.

Presenting just a subset of emojis on the keyboard on iOS apps

I am making an app where I use the "People" emojis as avatar faces and the "Food and drink" emojis for, well, food and drink icons. I would like to use the regular keyboard for presenting the emojis for user input, but I would like to present only these two categories of emojis (and even so, each category would be presented in a different context).
I am working with iOS 8, Xcode 6.3 and Swift.
Can I configure the regular keyboard so that it only shows a subset of emojis which I define?
If not, can I create a new custom keyboard preserving everything from the original Apple keyboard but limiting the subset of characters? Any pointers on how to do this?
Thanks.
You can not configure the regular keyboard so that it only shows a subset of emojis. But yes can make your own custom keyboard.
You can find some really good posts about how to make the custom keyboards:
http://verisage.us/en/blog/2014/07/17/ios-8-custom-keyboard-swift-tutorial/
http://code.tutsplus.com/tutorials/ios-8-creating-a-custom-keyboard-in-swift--cms-22344
Also I found this FaceBoardPlus sample: http://code4app.net/ios/FaceBoardPlus/52a9ba56cb7e841e178b69d0 which is exactly what you are looking for but written in objective c.
EDIT: From iOS developer library:
After a user chooses a custom keyboard, it becomes the keyboard for
every app the user opens. For this reason, a keyboard you create must,
at minimum, provide certain base features. Most important, your
keyboard must allow the user to switch to another keyboard.
To provide a fully custom keyboard for just your app or to supplement
the system keyboard with custom keys in just your app, the iOS SDK
provides other, better options. Read about custom input views and
input accessory views in Custom Views for Data Input in Text
Programming Guide for iOS.

Resources