2011-06-19 20 views
5

Tengo un UIViewController en mi aplicación con un UIWebView en él. El UIWebView es de tamaño fijo y está configurado para abrir cualquier enlace en un nuevo UIViewController (navegador). Esto funciona, pero cuando intento hacer clic en un video como YouTube o Vimeo desde la vista web, se abre sobre el controlador de vista. Normalmente, esto no sería un problema, pero tengo una vista superpuesta que necesita hacer que un mensaje se salga del camino cuando esto sucede.¿Se ha notificado cuando el reproductor multimedia se abre desde UIWebView?

¿Hay una notificación o de otra manera mi controlador de vista puede ser notificado cuando un reproductor de medios sale del UIWebView? Realmente necesito que esto funcione mejor, porque es realmente feo como es actualmente.

Gracias!

Respuesta

21

Desde: http://www.alexcurylo.com/blog/2009/08/24/snippet-playing-youtube-videos/

Por desgracia, no hay ningún tipo de control directo o notificaciones de carga, el progreso, dejar de fumar, etc. Sin embargo, puede obtener algunas notificaciones indirectos sobre la base de estado de la ventana de la aplicación: añadir en su controlador de vista

[[NSNotificationCenter defaultCenter] 
addObserver:self 
selector:@selector(windowNowVisible:) 
name:UIWindowDidBecomeVisibleNotification 
object:self.view.window 
]; 

[[NSNotificationCenter defaultCenter] 
addObserver:self 
selector:@selector(windowNowHidden:) 
name:UIWindowDidBecomeHiddenNotification 
object:self.view.window 
]; 

para obtener estos llamados cuando la ventana de YouTube se muestra y desaparece, respectivamente.

- (void)windowNowVisible:(NSNotification *)notification 
{ 
    NSLog(@"Youtube/ Media window appears"); 
} 


- (void)windowNowHidden:(NSNotification *)notification 
{ 
    NSLog(@"Youtube/ Media window disappears."); 
} 

y oye, si eso es todo lo que necesita a modo de notificación, ¡está bien!

+0

De hecho, solo necesitaba eso, ¡solo para decirme cuándo mover otros objetos fuera del camino! ¡Muchas gracias! :) (Mantendré la pregunta abierta durante un par de días) – Emil

+0

Esto funciona para youtube-videos pero no vimeo! ¿Podría tener algo que ver con HTML5? (sigue siendo la respuesta correcta, aceptando y premiando la generosidad :)) – Emil

+0

Urgh, debe ser, ¿está incrustando el video usted mismo? – peterp

Cuestiones relacionadas