2010-12-03 9 views
6

Estoy intentando hacer una aplicación donde cada controlador de vista (.h/.m) tenga 2 archivos NIB ... uno para retrato, uno para paisaje. ¿Es esta la forma "estándar" de apoyar la orientación o debo configurar manualmente la vista de orientación mediante programación? El problema al que me enfrento es que cuando un usuario invierte la orientación, todas las vistas se restablecen (por lo que el usuario debe volver a ingresar los campos de texto/entrada de vistas).Orientación de Iphone y 2 archivos de plumillas

Aquí es mi método de orientación:

- (void) changeTheViewToPortrait:(BOOL)portrait andDuration:(NSTimeInterval)duration{ 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:duration]; 

if(portrait) { 
    [[NSBundle mainBundle] loadNibNamed:@"myview-portrait" owner:self options:nil]; 
    [self setupLayout]; 
} else{ 
    [[NSBundle mainBundle] loadNibNamed:@"myview-landscape" owner:self options:nil]; 
    [self setupLayout]; 
} 

[UIView commitAnimations]; 

}

+0

Hola E-man es este método válido? ¿Causa algún problema al revisar la aplicación por Apple? Estoy usando la misma manera que lo ha hecho ¿habrá algún problema? –

Respuesta

7

Apple tiene un número de diferentes sugerencias para soportar múltiples orientaciones en su Guía de programación de controlador de vista en la sección titulada "Gestión de Orientación interfaz de una vista de Controlador ". Es posible que desee leer esa sección para ver si alguna de sus sugerencias se adapta mejor a sus necesidades.

Dicho esto, he utilizado la estrategia que presentó anteriormente en una aplicación y parecía funcionar bastante bien.

Para resolver su problema de que las vistas se "restablecen", le sugiero que mantenga una referencia a los datos que ingresa el usuario a medida que pasan del control al control. Luego, cuando cambie su orientación, puede volver a llenar los controles para que el "progreso" del usuario no se pierda.

+1

Ojalá hubiera una manera más clara ... :( – Exegesis

+0

¿Este método es válido? ¿Esto causará algún problema al revisar la aplicación por Apple? Estoy usando el mismo método, ¿habrá algún problema? –

+1

¿Por qué no lo haría? es válido? Los métodos utilizados son API públicos. – TigerCoding

Cuestiones relacionadas