En lugar de crear una nueva copia de su guión gráfico existente utilizando
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
se puede establecer en el archivo de cabecera del delegado de la aplicación de esta propiedad
@property (nonatomic, weak) UIViewController* initialViewController;
y en este método simplemente asigne self.window.rootViewController a la propiedad
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.initialViewController = self.window.rootViewController;
return YES;
}
esto debería funcionar, ya que en la ventana de propiedades del protocolo de aplicación delegado es el acceso a rootViewConroller y este controlador es initialViewController si se utiliza guiones gráficos.
sí, eso es lo que necesitaba. ¿Alguna idea sobre cómo cargar el guión gráfico correcto para el dispositivo en una aplicación universal (iphone vs ipad)? –
Esto debería hacerlo 'UIViewController * vc; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { UIStoryboard * storybord = [UIStoryboard storyboardWithName: @ "MainiPadStoryboard" paquete: nil]; vc = [storybord instantiateInitialViewController]; } else { UIStoryboard * storybord = [UIStoryboard storyboardWithName: @ "MainiPhoneStoryboard" paquete: nil]; vc = [storybord instantiateInitialViewController]; } ' –
Bastante seguro de que esto está tomando una nueva copia, no la existente. –