Intentando cargar una nueva vista al cambiar la orientación

Estoy tratando de crear una aplicación en Xcode que cambie a una nueva vista cuando el teléfono gire de una orientación a otra.

Aquí está el código del archivo "switchviewcontroller.h":

#import <UIKit/UIKit.h>

@interface SwitchViewController : UIViewController {

}

-(IBAction)switchview:(id)sender;

@end

Y aquí está el código del archivo "switchviewcontroller.m":

#import "SwitchViewController.h"
#import "secondview.h"

@implementation SwitchViewController

-(IBAction)switchview:(id)sender {}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES;
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    if((fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
       (fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight))
    {    
        [[secondview alloc] initWithNibName:@"secondview" bundle:[NSBundle mainBundle]];
    }

}

Se ejecuta en el simulador de iPhone sin errores, pero cuando lo giro no carga la nueva vista. Para empezar, creo que necesito que la aplicación se abra en modo horizontal, que no sé cómo hacerlo, pero de todos modos no funcionaría y creo que tiene algo que ver con la parte "initWithNibName" del código porque Tengo archivos .xib y no archivos .nib. ¿Alguien puede ayudarme con estas 2 cosas? Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta