carico e nascondere la visualizzazione master in USplitView iOS 5.1
-
13-12-2019 - |
Domanda
Io sono googling da un lungo periodo di tempo, ma non ottenere la soluzione, In iOS 5.1 Master la Vista Arriva sul destro tocco, e scompaiono swipe verso sinistra.
Ho voglia di carico master di vista su clic del pulsante di vista di Dettaglio, Come è possibile?
di seguito il codice è lavorato per me, vista Master nascondere, ma un nero dimensioni dello schermo di visualizzazione Master rimangono nel luogo di Master di vista.
- (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;
}
Grazie in anticipo
Soluzione
Il modo standard, da quanto ho capito, per fare questo è:
Nell'app delegato file è necessario impostare uno di Visualizzazione iniziale Controller per essere il UISplitViewControllerDelegate.Se non fai questo qui non sarà possibile ottenere il primo bottone se si avvia l'applicazione in orientamento verticale.Per esempio:
UINavigationController *masterNavigationController = [self.splitViewController.viewControllers objectAtIndex:0]; MyMasterVC *master = [self.masterNavigationController.viewControllers objectAtIndex:0]; self.splitViewController.delegate = master;
In MyMasterVC.h dichiarare se stessi come
<UISplitViewControllerDelegate>
modificando l'interfaccia, come ad esempio:@interface MyMasterVC : UIViewController <UISplitViewControllerDelegate>
In MyMasterVC.m è necessario implementare i vari metodi di UISplitViewControllerDelegate che sono descritto qui la documentazione di Apple
I metodi per nascondere e mostrare il view controller dare un UIBarButtonItem quale si deve poi aggiungere, o togliere, il Dettaglio View Controller (per esempio, un UIToolBar o UINavigationBar).
Se si hanno problemi a trattare con questo, è coperto abbastanza bene in una delle conferenze su iTunesU dall'ottimo Paul Hegarty dell'Università di Stanford (Autunno 2010 o 2011 - non ricordo).Si dovrebbe davvero dare un'occhiata.iOS5.1 ha cambiato il modo in cui il MasterVC è presentato dalla rigorosa "popover" via del corso, ma penso che i metodi descritti continua a funzionare.E ' abbastanza presto nel corso, magari lezione 5 o 6 o 7 o qualcosa di simile.Penso che si chiama Split Vista, o iPad di dissenso o simili.
EDIT: E ' lezione 7, e si chiama:"UIToolbar e le App per iPad"