I present a an inputAccessoryView on as part of a TableViewController, though it works smoothly most of the time, I have an issue with its presentation, as it gets presented sometimes from the right side of screen or sometimes (nicer) from bottom of the screen, any idea why and how to control that?
Related
I have an iOS8 app which has a UITabBarViewController as part of its master view. Embedded within that is a UITableViewController which has some UITextFields embedded in some of the cells.
When a text view is tapped, the keyboard automatically appears. If necessary, the 'view' is adjusted to allow the textView to remain showing so data can be entered.
The problem is that the tabBarController and associated tabs are also moved up. This is usually OK unless my phone is in landscape which leaves very little room to show the tableview and allow effective gestures (e.g. swiping the tableview up/down).
So, is there a way to get the keyboard to only push-up the tableview within the tabBarController, rather than the whole outer frame also being moved up? Picture below shows the problem. The device is in landscape
All:
I am working on an app in which I have multiple UIButtons and UITextFields on the top and right hand side of a UIView. The UIViewController is embedded in a tab bar controller, and I'm using iOS 7.
When the view first appears, the UIButtons and UITextFields on the right are unresponsive -- they are enabled (according to .isEnabled), but the buttons don't flash, and the keyboard doesn't appear when I tap on the UITextField. If I switch to another tab and then back, they work.
The controls at the top work as expected.
However, if I drag the right hand side controls more towards the center of the app, they work first time. There's like a 100 pixel "dead zone" that only goes away when I switch tabs.
Update: If I bypass the tab bar controller completely, and make the view controller associated with the above the initial view controller, then the controls work as they should.
What is going on??
Thanks,
Michael
I'm building an iPad app and there is something weird going on with the top edge of the view in relation to the status bar when the keyboard appears.
The view has a view with a segmented controller at the top with a container view below. When a button in the segmented controller is selected, the view in the container view changes.
I've done some research into the matter (it's definitely iOS 7 related) and have not found any kind of fix. I tried setting edgesForExtendedLayout to UIRectEdgeNone but that does not seem to have any effect. Even more strange, the view only moves half way to its original position when the keyboard dismisses. Any suggestions? I included screenshots below.
Original:
When keyboard appears:
After keyboard dismisses:
I can only assume your code is doing something to move the view when the keyboard appears then later disappears. So you state your view is a UIViewcontroller subclass (implying no contentOffset property). Log the values of the following before and after the keyboard action - one of them must have changed: contentInset, bounds, frame. Knowing which one will assist you in finding the problem.
Running into an issue only on iOS 7. On one screen I have a back button that returns to a tableview. That back button's code is [self.navigationController popViewControllerAnimated:YES]; but I'm seeing an issue where all of the content on the screen I go back to is shifting up when i click back (the content shifts to where its supposed to be, but open first viewing it after clicking back, its lower on screen than it should be and then slides up). Previously in iOS 6, it did the animation you'd expect, the left to right movement of the old and new screen, but the content shifting up is new and I can't figure out what's causing it. I set the animated to NO and while that does stop it, I also lose the left to right I want and it looks very jerky going screen to screen. Any thoughts on how to just get the normal left to right slide without it shifting my content?
If you have two VC ,VC1 and VC2 if you are using on VC2.
[self.navigationController popViewControllerAnimated:YES];
Check you xib of VC1 you need to take Navigation Bar at top.
This sounds like an AutoLayout issue. Make sure AutoLayout is turned off, and add the following to your viewDidLoad:
[self.view setTranslatesAutoresizingMaskIntoConstraints:NO];
I'm working on an iPhone / iPad app with several navigation controllers. When I click a back button of a view while the device is in landscape mode, the previous view scrolls vertically into the screen, instead of scrolling horizontally as usual.
Push animations always work horizontally, as it should be.
What could be causing this weird problem?
Thanks,
Adrian
Are you sure the view controller, you're getting back to, is set to deal with rotation properly ?
I had a similar issue using MonoTouch.Dialog until I added Autorotate = true; to every (non-leaf) DialogViewController inside my application.