El reproductor de complementos de YouTube es en sí mismo un controlador de vista modal. Está volviendo a su presentingViewController
cuando se presiona el botón hecho. Su presentingViewController
no es su controlador de vista modal, sino que es viewController que llamó al [presentModalViewController:animated:]
para presentar su controlador de vista modal. Como el controlador de vista modal original todavía está activo, la aplicación se comporta mal.
Para solucionar el problema,
1) Seguir si el controlador de vista modal se haya presentado pero no descartado.
2) En el método viewDidAppear
del controlador de vista de presentación, si el controlador de vista modal se presentó y no se descarta, deséchelo y preséntelo nuevamente.
Por ejemplo, en el controlador que está presentando el controlador de vista modal web:
- (void) presentModalWebViewController:(BOOL) animated {
// Create webViewController here.
[self presentModalViewController:webViewController animated:animated];
self.modalWebViewPresented = YES;
}
- (void) dismissModalWebViewController:(BOOL) animated {
self.modalWebViewPresented = NO;
[self dismissModalViewControllerAnimated:animated];
}
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (self.modalWebViewPresented) {
// Note: iOS thinks the previous modal view controller is displayed.
// It must be dismissed first before a new one can be displayed.
// No animation is needed as the YouTube plugin already provides some.
[self dismissModalWebViewController:NO];
[self presentModalWebViewController:NO];
}
}
Han encontrado la solución a su problema, ¿puedes compartirlo con nosotros? – Illep
aún no ... No lo he encontrado – jonypz