2012-12-14 11 views
6

Muszę przedstawić viewController jako formSheet, gdy użytkownik kliknie przycisk "Ustawienia" na pasku nawigacji po stronie iPada mojej aplikacji uniwersalnej. Widok nazywa się "SettingsViewController" i jest kontrolerem widoku w mojej stordzie iPada z identyfikatorem "ustawień".iPad presentViewController jest zawsze w trybie pełnoekranowym (potrzebujesz arkusza formularzy) iOS6

Nie używam segues, ponieważ w mojej wersji aplikacji na iPada mam więcej niż jeden przycisk na pasku nawigacji po lewej stronie, więc muszę dodać przyciski programowo. (nie można połączyć przejścia z nieistniejącym UIBarButtonItem w scenorysie.)

Funkcjonalność, której chcę, jest tam, prezentacja nie jest. Kiedy przedstawiam moją SettingsViewController na iPadzie, prezentuje się ona jako widok pełnoekranowy. Potrzebuję tego, aby być arkuszem formularza.

Zawijam go w NavigationController, który jest mi potrzebny i działa dobrze, wystarczy go przedstawić w odpowiedni sposób.

Oto kod, który prezentuje pogląd:

-(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]; 

} 

Próbowałem wszystkiego można myślę. Każda pomoc jest głęboko doceniana.

Odpowiedz

20

Wygląda na to, że ustawiłeś modalny styl prezentacji na SettingsViewController, ale powinieneś ustawić go na swoim UINavigationController.

+1

Tak, to było to. Dziękuję Ci. – jhilgert00

6
navcont.modalPresentationStyle = UIModalPresentationFormSheet; 
Powiązane problemy