I know this seems to be a duplicate question which has been around here many many times, but believe me, I tried all iOS7 and earlier fixes which sets the Layout to a different Edge configuration without any change.
My Storyboard looks like this:
-> Navigation Controller -> Tab Bar Controller -> MyTableViewController -> VCForCellOne
With the first run of my application the UITableView overlaps with the source NavigationController as shown here:
After clicking on one of my Cells which pushes the corresponding ViewController to the NavigationController and going back again, everything looks fine as shown here:
So everything is as it should be after once pushing another ViewController to the NavigationController and then going back.
Switching from Portrait to Landscape and back also fixes the layout problem and everything is layed out as it should be.
My ViewController within the Storyboard looks like this:
I left it the default value, so I don't know what goes wrong here.
I hope you understand my problem here. There's no custom class ViewController here, so no additional code which messes up something here. Any help highly appreciated!
Update 1:
I guess these information are not pretty new to most of you, but I did some research about what's actually changing when the TableViews gets layout the first time and then again once it's correctly layout after using the Navigation Controller the first time.
So I did check the ContentOffset, contentInset and Bound Values through NSLog in the viewWillAppear and viewDidAppear Methods. What I get on the first run (when the overlaps happens):
viewWillAppear:
contentOffset(0, 0)
contentInset(0, 0, 0, 0)
BoundsOrigin( 0, 0) BoundsSize( 568, 320)
viewDidAppear:
same results
When the relayout happens and everything sits where it should be, the values have an interesting change:
viewWillAppear:
contentOffset(0, 0)
contentInset(0, 0, 0, 0)
BoundsOrigin( 0, 0) BoundsSize( 568, 320)
viewDidAppear:
contentOffset(0, -64)
contentInset(64, 0, 0, 0)
BoundsOrigin( 0, -64) BoundsSize( 568, 320)
I could rebuild this "bug" with a brand new project by using the same layout without any modifications or something and I always get the same strange behavior.