2010-12-06 14 views
11

Comencé el desarrollo de iphone con 4.0 sdk. Estoy tratando de hacer que mi aplicación sea compatible con 3.2. Me di cuenta de que - [UIWindow setRootViewController:] se agrega a la SDK en la versión 4.0. Entonces, en lugar de eso, ¿qué debería usar en las versiones anteriores a 4.0? En otras palabras, ¿qué hace la propiedad rootViewController en esencia, excepto la asignación de la subvista primaria de la ventana? Si extiendo UIWindow y redefino el método de la siguiente manera, ¿sería un problema en el futuro?- UIWindow setRootViewController: equivalente en pre 4.0


- (void) setRootViewController:(UIViewController *)controller 
{ 
    if (systemVersion < 4.0) 
    { 
     while(self.subviews.count > 0) 
      [[self.subviews objectAtIndex:0] removeFromSuperview]; 
     [self addSubview:controller.view]; 
    } 
    else [super setRootViewController:controller]; 
} 

Respuesta

12

Se utilizó para ello:

[window addSubview:[navigationController view]]; 

Eso es lo que solía ser en muestras de Apple y todavía funciona bien.

+1

Luego, rootViewController no hace nada excepto asignar la vista principal. Gracias. –