I am trying to have the same style of split keyboard like the iMessage app on the iPad. If you split the keyboard, it seems like the two keyboards are still connected to each other. This is different when I split the keyboard in YouTube app.
Also, the input field is right above the split keyboard on the right. In addition, if you drag the split keyboard up and down, the input field also moves along with the split keyboard. Is Apple using it's own custom keyboard?
Thanks.
Look at UITextView Class Reference, specifically the inputAccessoryView.
When you set an input accessory view to your text view (or UITextField) it will be attached to the keyboard, just as you described
Other example of it is safari's search field.
The trick in iMessages in the iPad is that the input accessory view is aligned to the right which is not a problem, you can have a big transparent inputAccessoryView containing the right aligned and visible view :)
Related
How can I implement swipe to see more options? There are lot of libraries that I could readily use, but they all are designed for iPhone apps. In iPad you have a lot of space, and I want to stack the buttons vertically instead of horizontally.
Is there any library for this? If not, how should I go about building this as a custom cell?
I tried building a custom UITableViewCell class which adds a UIScrollView, but it's not the same as showing the buttons beneath the cell.
Based on your inputs I have created a simple custom cell with basic functionality of swipe to see utility buttons and of course buttons stacked vertically.
What I did was, add a UIView beneath the cell's content view and positioned at right. Now depending on the number of buttons provided each button's height is adjusted accordingly. And delegates are provided for button clicks.
Swipe gestures are added. On swiping left it will animate and shift the cell's content view to reveal the button view. On swiping right it will reset the cell to original position.
You can customise it from here onwards as you wish :)
I have uploaded them over here : https://github.com/srikanth-vm/GSSwipeableCell
I have created a forum with a View, and in the View I have placed a Text Field. My problem is, whenever I slide up they keyboard the text from the tableView are placed over the UIView and the TextField being covered. Any Idea what the reason behind this might be? While we are at it, maybe I shouldnt create a View with a TextField and instead use the standard look in iPhone sms apps, but I dont know how they created that bar. Any Ideas? I post all pictures below:
iPhone standard look, how to create something like this?:
My View with the text field:
My problem as i described above:
You can create a custom view for that and add it as an inputAccessoryView of the keyboard.
For more details please check apple documentation on this. When the keyboard is dismissed, show this view at bottom of the screen and when keyboard appears remove it from bottom and make it as inputAccessoryView.
inputAccessoryView:
The custom accessory view to display when the text view becomes the
first responder
I've rolled my own keyboard view for an ipad app, mimicking the dimensions of the standard docked keyboard. I noticed that if the user last used a split keyboard, it tries to display my custom view at the position and dimensions of the split keyboard, with suboptimal results. So, I've created a split keyboard version of the view, and would like to display the standard or split version dynamically.
The issue, however is setting the textField's inputView in time - the soonest it seems I can examine the keyboard's properties is from a UIKeyboardWillChangeFrame or UIKeyboardWillShow notification - however, this is too late as the keyboard view already seems to have been loaded.
I'm writing an app based around a calculator-like UI. On an iPad, I'd like the number UIButtons on my calculator UI to respond to the numbers on the external keyboard. I have no text input anywhere in the app, and I'd never want an on-screen keyboard to appear. How do I get my UIButtons to respond to specific key presses as if they'd been touched?
I'd say create a hidden UITextField with the delegate set, make it become the first responder upon viewDidLoad. The keyboard won't appear when a bluetooth keyboard is connected as far as I know, then just check what characters are typed in the shouldChangecharactersInRange and activate the right buttons accordingly.
EDIT: a quick example I just made, https://github.com/benjaminq42/buttonTest , if you wish to have a highlight animation of some sorts you need to create a custom UIButton class. You can use 'setHighlighted' but that 'sticks'.
In an application that I'm writing I have a UIWebview up top and some UITextFields at the bottom that I want the user to be able to type in depending on what's in the webview. But when they touch the Text Field and the keyboard pops up, the user loses the ability to manipulate the web page to see different parts.
Is there a way to keep the keyboard up and still be able to manipulate the UIWebView?
No I believe the Keyboard is modal so you can't access the form underneath it.
You can respond to the
- (void)keyboardWillShow:(NSNotification*)aNotification;
- (void)keyboardWillHidde:(NSNotification*)aNotification;
notifications and scroll the View up or down when the keyboard is shown...
Example here