iPhone Application: force landscape mode, strange behaviour...?

Posted by David Lawson on Stack Overflow See other posts from Stack Overflow or by David Lawson
Published on 2010-06-15T20:58:47Z Indexed on 2010/06/15 21:02 UTC
Read the original article Hit count: 250

Filed under:
|

This is a method I use to switch display views, based on a string passed (for example you could pass MainMenuViewController to switch views to a new instance of that class):

- (void)displayView:(NSString *)newView
{
    NSLog(@"%@", newView);

    [[currentView view] removeFromSuperview];
    [currentView release];

    UIViewController *newView = [[NSClassFromString(newView) alloc] init];
    [[newView view] setFrame:CGRectMake(0, 0, 320, 460)];
    [self setCurrentView:newView];

    [[self view] addSubview:[currentView view]];
}

I have my application forced into landscape view (.plist and -shouldRotate), but if you look in the code:

[[newView view] setFrame:CGRectMake(0, 0, 320, 460)];

I have to set the frame of the newView to a portrait frame for the view to be displayed correctly - otherwise, for example, a button on the new view can only be pressed in certain parts of the screen (rectangle up the top), unresponsive anywhere else. Even though in all my NIB files they are set to landscape.

© Stack Overflow or respective owner

Related posts about iphone-sdk

Related posts about xcode