views:

64

answers:

0

I am in the process of porting an iPhone app to iPad. The layout on the phone is a tab bar with three tabs, two of which contain nav controllers where the user drills down a table view hierarchy.

However, on the iPad, navigation works as expected in landscape mode, but it's not possible to drill down the table view hierarchy in portrait from inside the popover. The root table view shows up OK (instantiated in the nib, of course), but the child view shows up without any data in it.

The child table view controller is instantiated alright, but the delegate method tableView:cellForRowAtIndexPath: is not called. If one rotates to portrait when already further down in the hierarchy, it is possible to go backwards through it, so popping view controllers from the stack does not seem to be the problem.

I'm really scratching my head on this one. The view controllers view does appear (viewDidAppear is called), but the delegate method for filling the table view cells with data does not fire.

I started from the split view template in Xcode, which you would think should make it easy to hook things up the right way.

Any help on this most welcome.

Cheers,

Gregor Tomasevic Sweden

Update: it is possible to make the data of the child views to appear in portrait by calling [self.view reloadData] in viewDidAppear: (but not viewWillAppear:). However, this displays the data only after the view has slid in place, which is not the behavior one expects as a user. Strangely, it still works as expected in landscape. Me, I'm just confused on a slightly higher level now. Anyone got any tips?

Update2: it may be a bug in the simulator. Seems to work just fine on the device.