plugin files filedownload example descargar con aspx ios views modal-dialog

files - iOS: cómo comprobar si hay una vista modal presente



jquery filedownload documentation (4)

¿Está comprobando la presencia de un controlador de vista modal desde el controlador de vista principal? Si es así, puedes verificar la propiedad modalViewController de ese controlador de vista:

BOOL modalPresent = (self.modalViewController);

Si desea buscar un controlador de vista modal en particular, puede obtener el nombre de clase del controlador de vista modal de esta manera:

NSString *modalClassName = NSStringFromClass([self.modalViewController class]);

¿Hay alguna manera de verificar si una vista modal está presente? Me gustaría ejecutar un método solo si hay una vista modal presente. Además, si tengo varias vistas modales, hay una manera de verificar si una vista modal determinada está presente.

Uso el siguiente código para presentar y descartar vistas modales:

[self presentModalViewController:myModalView animated:YES]; [self dismissModalViewControllerAnimated:YES];

¡Gracias de antemano!

Saludos, Evan

PD. Mi vista modal tiene un controlador de vista, pero me gustaría comprobar si la vista modal está presente en una clase separada que se ejecuta de forma asíncrona.


Lo que funcionó para mí es lo siguiente:

// this is the trick: set parent view controller as application''s window root view controller UIApplication.sharedApplication.delegate.window.rootViewController = viewController; // assert no modal view is presented XCTAssertNil(viewController.presentedViewController); // simulate button tap which shows modal view controller [viewController.deleteButton sendActionsForControlEvents:UIControlEventTouchUpInside]; // assert that modal view controller is presented XCTAssertEqualObjects(viewController.presentedViewController.class, MyModalViewController.class);

Hasta donde lo probé, esto funciona para iOS7 y iOS8. Sin embargo, no probé en iOS6.


Puede verificar la presencia de un view controller modal desde el controlador de view controller principal

if ( [[self presentingViewController] presentingViewController] ) { }


Puede verificar usando: self.presentedViewController , que devuelve The view controller that is presented by this view controller, or one of its ancestors in the view controller hierarchy.