Pregunta

Estoy buscando en google desde hace tiempo, pero no la solución, En iOS 5.1 Master punto de Vista Viene en derecho, deslizar el dedo, y desaparecen en la parte izquierda del dedo.

Me quiere cargar la vista patrón haga clic en el botón de la vista de Detalle, Cómo es posible?

a continuación el código se trabajó para mí, Maestro de vista de ocultar, pero un negro tamaño de pantalla de la vista de patrón de permanecer en el lugar de la vista principal.

- (void)hideMaster:(BOOL)hide {

  AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate];
 UISplitViewController* spv = appDelegate.splitViewController;
 spv.delegate=self;
 self.hiddenMaster= hide;
 [spv willRotateToInterfaceOrientation:self.interfaceOrientation duration:0];
 [spv.view setNeedsLayout];     
 }


- (BOOL)splitViewController:(UISplitViewController*)svc shouldHideViewController: (UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {

NSLog(@"Spv: I do %@show the master", (self.hiddenMaster?@"not ":@""));

return self.hiddenMaster;
}

Gracias de antemano

¿Fue útil?

Solución

La forma estándar, como yo lo entiendo, para hacer esto es:

  1. En delegado de la aplicación de archivo que usted necesita para establecer uno de los iniciales de Vista de los Controladores de ser el UISplitViewControllerDelegate.Si usted no hace esto aquí, usted no obtendrá el primer botón si inicia la aplicación en la orientación vertical.Por ejemplo:

    UINavigationController *masterNavigationController = [self.splitViewController.viewControllers objectAtIndex:0];
    MyMasterVC *master = [self.masterNavigationController.viewControllers objectAtIndex:0];
    self.splitViewController.delegate = master;
    
  2. En MyMasterVC.h declara a sí mismo como el <UISplitViewControllerDelegate> mediante la modificación de la interfaz, tales como:

    @interface MyMasterVC : UIViewController <UISplitViewControllerDelegate>

  3. En MyMasterVC.m se necesitan para aplicar los distintos métodos de la UISplitViewControllerDelegate que son aquí descritas en la documentación de Apple

Los métodos para ocultar y mostrar el controlador de vista de darle un UIBarButtonItem que luego debe añadir, o quitar de su Vista de Detalles del Controlador (En, por ejemplo, un UIToolBar o UINavigationBar).

Si tiene problemas para lidiar con eso, es cubierto bastante bien en una de las conferencias en iTunesU por el excelente Paul Hegarty de la Universidad de Stanford (Otoño 2010 o 2011 - no recuerdo).Usted realmente debería echar un vistazo.iOS5.1 ha cambiado la forma en que el MasterVC se presenta a partir de la estricta "ventana emergente" en el curso, pero creo que los métodos descritos va a funcionar.Es muy temprano en el curso, conferencia tal vez 5 o 6 o 7 o algo así.Creo que se llama Split Vistas, o iPad Vistas Divididas o similar.

EDITAR: Es la clase 7, y se llama:"UIToolbar y Apps para el iPad"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top