visuales sola sirve reducir quitar que para pantalla mueve movimiento efectos efecto bateria animaciones activar iphone ios ipad storyboard

iphone - sola - quitar animaciones ios 11



Cómo realizar segue sin animación de transición (4)

Tengo una aplicación que comienza con un controlador de navegación. Este controlador de navegación puede abrir el controlador de vista modal:

- (void)openModalController:(id)sender { [self performSegueWithIdentifier:@"SegueIdentifier"]; }

Pero cuando el usuario abre una aplicación usando el esquema de url, me gustaría presentar la aplicación con el controlador modal abierto. Así que agregué algunos métodos y probé:

// Controller - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // animated == NO in initial loading if (_shouldOpenModalController) { [self openModalController:nil]; } } - (void)setShouldOpenModalController:(BOOL)flag { _shouldOpenModalController = flag; } // AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions) { UINavigationController *nc = (UINavigationController *)self.window.rootViewController; MyViewController *c = (MyViewController *)[ns topViewController]; [c setShouldOpenModalController]; } }

Pero aquí hay un problema: openModalController: lleva a cabo la transición con la animación de transición que configuro en el guión gráfico. ¿Cómo se puede hacer sin animación? ¿Hay otro enfoque para esta tarea?


Duplica tu segue en Storyboard y dale a la segunda una ID diferente.

Luego puede cambiar la transición en la nueva versión.


Estoy usando este fragmento para solicitar autorización en viewDidLoad :

[UIView setAnimationsEnabled:NO]; self.view.hidden = YES; [self performSegueWithIdentifier:@"segue_auth" sender:self]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [UIView setAnimationsEnabled:YES]; self.view.hidden = NO; });

Cuando está autorizado, la transición hacia atrás está animada como yo quiero.


Otra forma más que podemos

YourViewController *aYourViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"aYourViewControllerIdentifier"]; [self.navigationController pushViewController:aYourViewController animated:NO];

y agregue el @"aYourViewControllerIdentifier" para ver el controlador en su guión gráfico.


self.performSegueWithIdentifier("loginSegue",sender: nil)