ios Cómo ajustar desde una sola vista al controller de vista dividida

Tengo dos vistas de plantilla (una es una vista única y la otra es una vista dividida) cada una funciona bien individualmente. Así que puse un button en la vista única y presioné el button para ir al controller de vista dividida. Cuando presiono el button, recibo un post de error diciendo que Push no se puede utilizar desde el interfaz de control de navigation de UI.

Ok, por lo que puse la plantilla de vista única en un controller de navigation UI y ahora dice: Los controlleres de vista dividida no se pueden enviar a un controller de navigation.

Entonces … ¿Cómo hago esto?

Gracias !

Use una vista de contenedor en un controller de vista normal, que cubra todo el área de visualización, y que la vista de contenedor tenga una opción de inserción según el controller de vista dividida

Sobrescribe el UISplitViewController y pon esto en la vistaDidLoad si necesitas comunicarte entre ellos:

YourLeftVC *masterViewController = (YourLeftVC *) [[self.viewControllers objectAtIndex:0] topViewController]; YourRightVC *detailViewController = [self.viewControllers objectAtIndex:1]; masterViewController.delegate = detailViewController; 

En lugar de presentar splitviewcontroller intente establecer como rootviewcontroller.

 self.view.window.rootViewController = splitViewController; 

Según documentation de las aplicaciones https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/SplitViewControllers.html

Un controller de vista dividida debe ser siempre la raíz de cualquier interfaz que crees. siempre debe instalar la vista desde un object UISplitViewController como la vista raíz de la window de su aplicación.

Lo que puede hacer aquí es crear una vista dividida personalizada.

En el peor de los casos, puede crear un segundo UIViewController para hacer el push, y en él un contenedor que tenga UISplitViewController como root.

Establezca su segue en modal y no empuje, eso debería hacerlo.

EDITAR

En realidad eso no funciona. Lo que puedes intentar es poner tu splitView en otro storyboard y en tu buttonClicked: método presentarlo en el código:

En SigleView.m:

 - (IBAction)buttonClicked: { SplitViewController *splitVC = [[UIStoryboard storyboardWithName:@"SplitStoryBoard" bundle:nil] instantiateViewController]; [self presentViewController:splitVC animated:YES completion:nil]; } 

EDIT2

Lo que está escrito antes tampoco funciona. Realmente me pregunto si puede presentar un SplitViewController (es decir, no lo convierta en su rootViewController).

Pero hay algo que puedes hacer:

Configura tu splitView como la vista raíz de tu aplicación, presenta tu vista única en el lanzamiento y, cuando lo desees, simplemente descártala para permitir que el splitView tenga control. Tendrá el mismo efecto que tener su singleView presentando splitView.