present modally modal ios xcode ipad storyboard presentmodalviewcontroller

ios - modally - swift present modal view controller programmatically



iPad presentViewController siempre es pantalla completa(necesita formSheet) iOS6 (2)

Necesito presentar viewController como formSheet cuando el usuario toca un botón de "configuración" en la barra de navegación en el lado del iPad de mi aplicación universal. La vista se llama "SettingsViewController" y es un controlador de vista en mi iPad Storyboard con una ID de "configuración".

No estoy utilizando segues porque en mi versión para iPad de la aplicación, tengo más de un botón en la barra de navegación en el lado izquierdo, así que tengo que agregar los botones de forma programática. (no se puede conectar un segue a un UIBarButtonItem inexistente en el guión gráfico).

La funcionalidad que quiero está allí, la presentación no. Cuando presento mi SettingsViewController , en el iPad, se presenta como una vista de pantalla completa. Necesito que sea una hoja de formulario.

Lo estoy envolviendo en un NavigationController , que necesito y funciona bien, solo necesito que se presente de la manera correcta.

Aquí está el código que 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]; }

He intentado todo lo que puedo pensar. Cualquier ayuda es muy apreciada.


navcont.modalPresentationStyle = UIModalPresentationFormSheet;


Parece que configuraste el estilo de presentación modal en SettingsViewController pero deberías haberlo configurado en tu UINavigationController .