iphone - llamadas - internet para ipad
Obligar a una aplicación de iPad a mostrar splitView incluso en orientación vertical(como la aplicación de configuración de iPad) (9)
No estoy seguro de que sea posible con SplitViewController estándar, pero puede usar uno personalizado de
Estoy intentando desarrollar una aplicación para iPad basada en splitView, que muestra la interfaz dividida en cada orientación. Intenté subclasificar la clase UISplitViewController como se indica en este tutorial, pero no funciona. Intenté crear una categoría para establecer _hidesMasterViewInPortrait = (hidden) ? 0 : 1;
_hidesMasterViewInPortrait = (hidden) ? 0 : 1;
, como se sugiere en uno de los comentarios en el blog anterior, pero nada funcionó.
¿Alguien puede ayudarme a encontrar una manera de salir de esto, sin utilizar marcos o clases de terceros?
Nunca logré obligar al SPlitViewController a hacerlo, pero como necesita crear controladores para ambas partes, puede reutilizar esos controladores para mostrar el contenido de la manera que lo desee.
Lo que estás describiendo suena como la aplicación de Configuración de Apple (en iPad). Mi intuición sería que esto no es un UISplitView. Es solo una vista que contiene dos vistas de tabla. Repare el diseño manualmente cuando el dispositivo gira. En otras palabras, si no quieres lo que hace un UISplitView, entonces no haces un UISplitView en absoluto.
EDITAR 19/12/2011: en iOS 5, el problema está básicamente resuelto, ya que ahora puede definir su propio controlador de vista de contenedor, además de evitar la eliminación de la vista izquierda en una vista dividida.
No puede hacer que Apple ''splitViewController se comporte así (y entre en la tienda de aplicaciones). Debería escribir su propio controlador de vista de contenedor. Ver los documentos de Apple
hola mi primera publicación y espero ayudar:
aquí está la forma en que funciona
[splitViewController setHidesMasterViewInPortrait:NO];
puede subclase UISplitViewController, luego sobrescribir el siguiente método:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval) duration
En la clase viewController que implementa el protocolo UISplitViewControllerDelegate (generalmente el DetailViewController), agregue el siguiente código.
- (BOOL) splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {
return NO;
}
Según los documentos, esto ha estado disponible desde iOS 5.
Para verlo en acción:
-abierta Xcode.
-Crea una nueva aplicación Master / Detail.
-Añadir el código anterior al DetailViewController
-Ejecutar en el simulador de iPad.
En su propio proyecto, querrá agregar la siguiente línea al método viewDidLoad de detailViewController.
self.splitViewController.delegate = self;
you just need to add this delegate method to your detail view manager
- (BOOL)splitViewController:(UISplitViewController *)svc
shouldHideViewController:(UIViewController *)vc
inOrientation:(UIInterfaceOrientation)orientation
{
// Hide split view in portrait mode
//return UIInterfaceOrientationIsPortrait(orientation);
// Show Split view in portrait mode
return NO;
}
//vKj
En iOS8 (Swift), usa esto:
splitViewController.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible