views:

36

answers:

1

Hey Guys,

So I have a simple split view that functions great except when the view loads. For some reason if it loads in landscape mode, it only loads on ~half the screen (it seems like it is the width of the portrait mode). Does anyone know what may be causing this behavior? I am using the default split view controller provided by the apple SDK.alt text

That is an image of what I am talking about. I am not doing anything special in my view did load and things are wired up in IB properly. I am kind of at a loss and any help would be awesome. Thanks!

+1  A: 

Figured it out:

I was loading the view after displaying a loading screen. As a result it wasn't detecting the orientation properly. I added this manual check before adding the view to the window and it solved my problems.

CGRect frame = [[UIScreen mainScreen] applicationFrame];

switch(controller.interfaceOrientation){
    case UIInterfaceOrientationPortrait:
    case UIInterfaceOrientationPortraitUpsideDown:
        [controller.view setFrame:frame];
        break;
    case UIInterfaceOrientationLandscapeLeft:
    case UIInterfaceOrientationLandscapeRight:
       [controller.view setFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.height, frame.size.width)];
       break;
}
Geoff Baum