plus pantalla multitarea doble dividir dividida ios ipad uisplitviewcontroller

ios - pantalla - El controlador de vista dividida debe ser un controlador de vista raíz



pantalla dividida iphone 7 plus (5)

Cada vez que intento presentar un UISplitViewController de forma modal, la aplicación se bloquea. Por lo tanto, siempre debe ser el controlador de vista de raíz. ¿Alguien puede confirmar eso?


De la guía de programación de Apple iPad :

La vista del controlador de vista dividida siempre debe instalarse como la vista raíz de la ventana de su aplicación. Nunca debe presentar una vista dividida dentro de una interfaz de navegación o barra de pestañas.

Entonces, sí, no puede presentar una vista dividida fuera de la ventana principal de la aplicación (que incluye modalmente).

EDITAR

El enlace a los documentos anteriores ya no trata este tema. La discusión relevante ahora se puede encontrar en View View Catalog de Apple para iOS , que establece lo siguiente:

Un controlador de vista dividida siempre debe ser la raíz de cualquier interfaz que cree. En otras palabras, siempre debe instalar la vista desde un objeto UISplitViewController como la vista raíz de la ventana de su aplicación. [...] Los controladores de vista dividida no se pueden presentar modalmente.


El UISplitController PUEDE ser instalado bajo UITabBarController. Lo hago. Simplemente use la búsqueda en este foro: encontré al menos una buena muestra de software.


Sí. Exactamente, tendrá que usar RootViewController y debe ser heredado de UITableViewController. Puedes echar un vistazo a este tutorial


Tuve el mismo problema con el mismo error cuando traté de pasar de un controlador de vista de contenido normal (es decir, no hay problema de un controlador de pestaña o un controlador de navegación).

Afortunadamente, encontré una manera de evitar esto al insertar un controlador de navegación entre el VC y el controlador de vista dividida. En otras palabras, continúe desde el VC a un controlador de navegación, luego dibuje una conexión de relación entre el controlador de navegación y el controlador de vista dividida. De esta manera, la instanciación de una vista dividida aún no requiere codificación.


Por supuesto, puede usar UISplitViewController sin usarlo como controlador de vista de raíz. En mi proyecto, lo uso así:

  1. Mostrar mi propio viewcontroller en método modal:

[self presentModalViewController:mainViewController animated:YES];

  1. En el mainViewController, tengo

UISplitViewController *splitViewController;

y en - (void)viewDidLoad , configure splitViewController.view como mainViewController.view

splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil]; self.view = splitViewController.view;