Cada vez que intento presentar un UISplitViewController modalmente la aplicación falla. Por lo tanto, debe ser siempre el controlador de vista raíz. ¿Alguien puede confirmar eso?Controlador de vista dividida debe ser controlador de vista raíz
Respuesta
Desde el Apple iPad Programming Guide:
vista del controlador de vista dividida debe instalarse siempre que la vista raíz de la ventana de la aplicación. Usted nunca debe presentar una vista dividida dentro de una barra de navegación o tabulación interfaz.
Así que sí, no puede presentar una vista dividida fuera de la ventana principal de la aplicación (eso incluye de manera modal).
EDITAR
El enlace a la documentación anterior ya no trata este tema. discusión relevante ahora se puede encontrar en Apple View Controller Catalog for iOS, que establece lo siguiente: controlador de vista
Una fracción debe ser siempre la raíz de cualquier interfaz que cree. En otras palabras, siempre debe instalar la vista desde un objeto UISplitViewController como vista raíz de la ventana de su aplicación. [...] Los controladores de vista dividida no se pueden presentar de forma modal.
¿lo ha probado? Dice "debería" no "debe". Y presentar una vista dividida modalmente en modo pantalla completa es si está dentro de una interfaz de navegación o de barra de pestañas. Eso no indica que no sería posible en general. – user309305
No he probado esto por mi cuenta, pero dado que Apple recomienda no hacerlo, y que tiene problemas con él, probablemente sería una mejor idea repensar su diseño. Si desea una configuración de tipo de vista dividida, sería sencillo crear su propia configuración de "vista dividida" (en lugar de UISplitViewController) en Interface Builder y presentarla de manera modal. – indragie
buena idea. ¡Gracias! – user309305
Por supuesto, puede usar UISplitViewController
sin usarlo como controlador de vista raíz. En mi proyecto, lo uso como esto:
- mostrar mi propia viewcontroller en el método modal:
[self presentModalViewController:mainViewController animated:YES];
- En el mainViewController, tengo
UISplitViewController *splitViewController;
y en - (void)viewDidLoad
, configure splitViewController.view
a mainViewController.view
splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
self.view = splitViewController.view;
De esta forma, no recibirá mensajes del delegado del controlador Split View. – pt2ph8
El UISplitController puede instalarse bajo UITabBarController. Lo hago. Simplemente use la búsqueda en este foro: encontré al menos una buena muestra de software.
Tengo el mismo problema con el mismo error cuando traté de segue desde un controlador de vista de contenido normal (es decir, no hay problema desde un controlador de pestañas o un controlador de navegación).
Afortunadamente, encontré una forma de eludir esto insertando un controlador de navegación entre el VC y el controlador de vista dividida. En otras palabras, pase del VC a un controlador de navegación, luego trace una conexión de relación entre el controlador de navegación y el controlador de vista dividida. De esta forma, la instancia de una vista dividida todavía no requiere codificación.
Encontré que en esta solución, dentro de un Storyboard, la transición del VC al controlador de navegación debería ser una transición modal. – ghr
Sí Exactamente tendrá que usar RootViewController y debería ser heredado de UITableViewController.Puede echar un vistazo a este tutorial
- 1. Cómo establecer el controlador de vista raíz
- 2. ¿Puede un controlador de vista presentado también ser un controlador de vista de presentación?
- 3. popToRootViewControllerAnimated no muestra el controlador de vista raíz
- 4. emergente a la vista raíz en el controlador de navegación
- 5. Controlador de vista push en la vista del controlador de vista modal
- 6. presentes vista modal controlador
- 7. Llegar al controlador de vista que empujó el controlador de vista visible
- 8. ¿Cómo destaco el controlador de vista debajo de un controlador de vista presionado?
- 9. Modelo-Vista-Controlador en JavaScript
- 10. ¿Cambia el tamaño de los controles principales y de vista detallada en un controlador de vista dividida?
- 11. personalizada controlador de vista de contenedores
- 12. Xcode: Cómo crear un controlador de vista emergente que aparece en otro controlador de vista
- 13. ¿Se puede cargar una vista dividida dentro de la vista de detalle de otra vista dividida?
- 14. ¿cómo puedo acceder a la vista de un controlador de vista padre desde un controlador de vista hijo?
- 15. Presione otro controlador de vista en una vista UITabBarController
- 16. Agregar navigationcontroller a la vista de detalles en vista dividida
- 17. Descartar/Presente Controlador de vista modal - ¿Memoria?
- 18. Renderizar una vista de otro controlador
- 19. ¿CÓMO? Controlador de retorno nada/vista actual
- 20. múltiples UIActionSheets en un controlador de vista
- 21. entendimiento Vista Controlador de anidación en IOS
- 22. vista de rieles sin un controlador
- 23. Vista de apilamiento Rspec para controlador anónimo
- 24. dismissModalViewControllerAnimated no libera el controlador de vista
- 25. Vista modal con el Controlador de navegación
- 26. ¿por qué "presente controlador de vista modal"?
- 27. ExtJS 4 cómo crear y visualizar un nuevo controlador/vista desde otro controlador/vista?
- 28. Nombrar el controlador raíz
- 29. cómo cambiar el controlador de vista de la raíz de NavigationController?
- 30. iPhone - Reemplazo de la vista de raíz en el controlador de navegación
Solo como referencia, creo que este es el camino a seguir: Ver pregunta similar: http://stackoverflow.com/a/19983002/1134595 –