I want to check that my iPhone interfaces designed in Interface Builder look ok when the on-screen keyboard is shown. I know how to set the 'simulated user interface elements' such as the top and bottom tab bars on or off.
Is there anything similar for the on-screen keyboard?
Thanks!
You could start with a Horizontal Guide (Editor > Add Horizontal Guide) 216 px from the botton. That's exactly how high the keyboard is.
I am not certain but I believe the answer is no. You cab however, "Simulate Interface" and run the XIB file in the simulator, which should accomplish what you want.
Related
I am encountering a problem that I'm not sure how to solve. If you look at the screenshot below, you'll see that the UI is laid out so that it neatly fits into the space between the safe area layout guide's top anchor and the top of the keyboard.
The keyboard will ALWAYS be shown in this view controller. But I need a way of knowing what the height of the keyboard is so that I can do some math to figure out how to tall to make the UITextView (the red box).
I tried the approach of registering for notifications on when the keyboard will show, but that is too late.
I need a way of knowing the height of the keyboard before the view renders so that I can configure the height of each of the elements in the UI.
Is there a way to do this?
Thank you!
One option would be to capture the dimensions of the Keyboard when it IS presented then pass those dimensions into this view.
However, you will also want to make sure that you are handling cases such as the split keyboard on an iPad and things of that nature.
For that you might choose to look at the documentation on using the keyboardLayoutGuide and use it with some constraints.
https://developer.apple.com/documentation/uikit/keyboards_and_input/adjusting_your_layout_with_keyboard_layout_guide
I want my buttons twice as big when iPhone 5 launches on screen, is there a way to do this using the interface builder? Or do I have to do this pragmatically?
I don't think there is such a solution in Interface Builder. Pragmatically is the option for you.
But why do you need it?
EDIT:
You can manage spacing by View submenu in Show and Size Inspector (Option / Alt-Command-5). See Autosizing and example windows next to it.
Here are Apple's docs regarding this topic (point 8.f): Xcode Quick Start Guide - UI
Im developing a tabbar application.
There are almost 7 tabs in this app.
Usuall when we add more than 5 tabs a "more button"will come and rest of options will come under that "More option".
But i found a very interesting app in app store and they are moving the tabbar to left and right(just like we do in scroll view) like in the image below.
How can i implement this.
Can anyone help me with this please.
Thanks in advance.
As far as I can see, it's 2 custom UIButtons placed over the tabBar that may programmatically rearrange the tab options on their IBActions. What makes me say that is that the highlighted area of the last tab is just normal, and the arrows does not seem as well placed as what Apple could have done by standard.
You can use custom tabBar, like InfiniTabBar, nice and functional.
Project on GitHub:
https://github.com/iosdeveloper/InfiniTabBar
I have a UITabBarController as my rootController with 8 UITabBarItems. and I want to show just 4 UITabBarItems in my screen. By default all my other tab bar items appear in a small tabBarItem called "More" and you can select the other 4. But I have seen some apps that implement a sliding UITabBarItems with a slide icon instead of a "More" icon.
How can I show just 4 at a moment, and I slide the TabBarItems, and so that I can select the other tab bar items ?
~ Something like this ~
And then I can slide to the next 4 sets by dragging
It would be helpful if someone could point me in the right direction.
There is a nifty little github project that could help you... check it out: https://github.com/iosdeveloper/InfiniTabBar
This is not currently a built-in option for UITabBarContoller.
One way to approach the problem is to add a UIGestureRecognizer to the tabBar.view, and programmatically adjust which 4 options are available on the screen. You can add an animation to make it smooth or have a little bounce as it slides.
iPhone users are usually very picky and attached to Apple's UI Guidelines. Although you can pass the Apple verification, you probably wont be able to pass users' (meaning bad reviews and ratings). So I recommend you to re-consider your tabbar structure and use "..." More instead of sliding it... You can always override stuff in code, but then they wont work smooth with InterfaceBuilder and in the end you will have more trouble than you'd expect.
If you have similar tab items merge them and use maybe a segmented control or something to visually distinguish them. Or use a central navigation screen in which you can put 9 maybe more icons in a grid...
The first solution to your problem may not always be the best way. Well, it is very rare actually...
You have to write a custom control for this.
I wrote one for showing a horizontal menu. You can probably modify that to fit your needs.
http://blog.mugunthkumar.com/coding/ios-control-mkhorizmenu/
Regarding the SMS compose view as show in the picture below:
alt text http://www.kennethlund.dk/wordpress/wp-content/uploads/2008/08/iphone_sms.jpg
I have two questions:
1) How is the text entry box implemented? There are no standard control from the API and the box is smart enough to resize when you press enter OR when the text is too long. Also the bar resizes with it. How is this done with the least coding?
2) How to code it such that when the keyboard shows up the whole view shifts up? Typically when the keyboard shows, it goes over your current view.
Searching stackoverflow for "uitextView size" produces these results:
How do I size a UITextView to its content?
Resizing UITextView
Searching stackoverflow for "keyboard iPhone" produces this result:
Programmatically align a toolbar on top of the iPhone keyboard
TTTextEditor is an autosize text box, which is part of the three20 framework