2012-12-14 11 views
6

Devo presentare un viewController come formSheet quando l'utente tocca un pulsante "impostazioni" nella barra di navigazione sul lato iPad della mia app universale. La vista è chiamata "SettingsViewController" ed è un controller di visualizzazione nel mio iPad Storyboard con un ID di "impostazioni".iPad presentationViewController è sempre Fullscreen (need formSheet) iOS6

Non sto utilizzando segues perché nella mia versione iPad dell'app, ho più di un pulsante nella barra di navigazione sul lato sinistro, quindi devo aggiungere i pulsanti in modo programmatico. (Impossibile connettere un seguito a un UIBarButtonItem inesistente nello storyboard.)

La funzionalità che voglio è presente, la presentazione non lo è. Quando presento il mio SettingsViewController, sull'iPad, si presenta come una visualizzazione a schermo intero. Ho bisogno che sia una scheda tecnica.

Lo sto avvolgendo in un NavigationController, di cui ho bisogno e funziona bene, ho solo bisogno di presentarsi nel modo corretto.

Ecco il codice che presenta la vista:

-(void)showSettings:(id)sender { 

    SettingsViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"settings"]; 
    svc.delegate = self; 
    svc.modalPresentationStyle = UIModalPresentationFormSheet; 
    UINavigationController *navcont = [[UINavigationController alloc] initWithRootViewController:svc]; 
    [self presentViewController:navcont animated:YES completion:NULL]; 

} 

Ho provato tutto quello che posso pensare. Qualsiasi aiuto è profondamente apprezzato.

risposta

20

Sembra impostare lo stile di presentazione modale su SettingsViewController ma è necessario impostarlo su UINavigationController.

+1

Sì, era così. Grazie. – jhilgert00

6
navcont.modalPresentationStyle = UIModalPresentationFormSheet; 
Problemi correlati