When a keyboard appears, is there a way to detect that it's an international keyboard (with an extra ribbon on top of normal keyboard to show the international characters) and also get it's frame size? I need to use that info to move upward (if needed) the view above the keyboard.
Check out this article: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-keeping-content-from-underneath-the-keyboard/
It addresses most of your questions. In addition to notifications, text views will become or resign 'first responder' which will bring up or hide a keyboard view.
As for whether or not the keyboard shows international characters, I'm not really sure how to do that. However, if you get the frame size of the keyboard (as described in the tutorial) you can adjust your view accordingly assuming that this was your concern.
UPDATE
Also check out: Keyboard resize event in iOS 5 (Chinese keyboard bug)?
Related
I can get the keyboard's dimension after its displayed from the notification, BUT I would like to position my textFields so that I don't have to scroll them when the keyboard appears. To achieve this I should know the keyboard's dimension BEFORE it's even displayed.
Is this possible on iOS?
You can use a class where this all things are handled by default. Just you have to use scroll view for this.
TPKeyboardAvoidingScrollView
See if it's useful and fulfill your requirement.
I have a page on an iOS app, that really consists of a series of custom buttons. The buttons are in a view hierarchy that consists of two labels and an image view behind them.
For accessibility support, I have made the two labels hidden to the accessibility system, to prevent accessibility focus from going onto each of the labels rather than the parent button. Accordingly, I have made the contents of one of these labels the accessibility label of the button, and the other the button's accessibility hint. This works well in VoiceOver, focus is moving between the buttons, with explanations of what they are and what they do.
Now when I use Speak Screen, I end with up a result of "No speakable content could be found on the screen." I expected it to speak the contents of the screen. Part of this is because I have set the labels to be hidden to accessibility, but this should be compensated for by speaking accessibility labels of the buttons.
Looking over some other apps and quick tests I have been doing, I am frequently seeing that Speak Screen seems to skip over buttons. I could give my buttons the accessibility trait of 'Static Text' in addition to button, but this seems like a misuse of the traits.
Is it the intended behaviour of Speak Screen to skip buttons or other controls? Is there a way to prevent the individual labels from gaining accessibility focus, while still being visible to Speak Screen?
As per my earlier comment, I am listening for the UIAccessibilitySpeakScreenStatusDidChangeNotification and checking Speak Screen's status with UIAccessibilityIsSpeakScreenEnabled. If Speak Screen is enabled, I am changing the labels to be shown or hidden to accessibility accordingly.
I need to implement a screen where the user is able to write an Application Letter for a job position.
The main idea is to have a UITextView where the user writes what he wants, with a character limit, and the current writing area is visible.
I want the all view to scroll up under the top bar, not just to scroll inside the UITexView.
Like this:
I also want to implement a Markdown parser for the final text and a keyboard shortcut for Markdown, any ideas on how to implement that?
In order to implement keyboard shortcut - you have to write your own keyboard in this case, because normally you cannot influence on the keyboards appearance, except of change it to black color.
About markup - you are here on your own again, as you have to look for already made solutions to parse it properly.
As for the UITextView - no problems here, just stick it up to the edge of the screen in interface builder with constraints and then it will be just as you would like it to be when you have UINavigationBar on top.
I am using My own custom Keyboard .
It Loading On iPad keyboard.
My Keyboard view having only some keys, So when I load the keyboard all button's size become bigger .
I want to reduce the size of on board Keyboard.
As far as I understand your question, you want a customized keyboard instead of the standard one.
If so, you may want to take a look at this helpful link:
http://blog.carbonfive.com/2012/03/12/customizing-the-ios-keyboard/
Apple on creating custom input views:
https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/InputViews/InputViews.html#//apple_ref/doc/uid/TP40009542-CH12-SW2
(Referenced from How to create a custom keyboard)
I have a UIView that contains a UITableView and a toolbar with a UITextField
When I tap the text field, the keyboard covers it over.
I want to keep the toolbar above the keyboard, just like in the native Messages app. Is it better to add this toolbar as the last cell in the TableView or animate the toolbar's Y position to move up and down when it's TextField becomes first responder?
Any advice appreciated.
The tableView should scroll to display the footer if it is firstResponder, so that might be a good place to tuck the toolbar.
Otherwise if you are manually moving your toolbar you can use notifications to manage the appearance. Here is from the Xcode docs:
Keyboard Notifications
When the system shows or hides the keyboard, it posts several keyboard notifications. These notifications contain information about the keyboard, including its size, which you can use for calculations that involve moving views. Registering for these notifications is the only way to get some types of information about the keyboard. The system delivers the following notifications for keyboard-related events:
UIKeyboardWillShowNotification
UIKeyboardDidShowNotification
UIKeyboardWillHideNotification
UIKeyboardDidHideNotification
The tableView footer is probably less code.
Good luck,
Damien
For make toolbar above your keyboard here is the most easy way..