2011-06-19 49 views
5

我在我的應用程序中有UIViewController,其中有UIWebViewUIWebView是固定大小的,並且被配置爲打開新的UIViewController(瀏覽器)中的任何鏈接。這是有效的,但是當我嘗試從網頁視圖中點擊YouTube或Vimeo等視頻時,它會在視圖控制器之上打開。這通常不會成爲一個問題,但我有一個重疊的視圖,當發生這種情況時,需要獲得一條消息以避免出現問題。當媒體播放器從UIWebView打開時通知?

當媒體播放器彈出UIWebView時,我的視圖控制器是否會收到通知或任何其他方式?我真的需要這樣做才能更好地工作,因爲它現在的樣子真的很醜。

謝謝!

回答

21

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

不幸的是,沒有一種直接控制或裝貨通知,進度,戒菸等。然而,你可以能根據您的應用程序的窗口狀態的一些間接的通知:添加在您的視圖控制器

[[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 
]; 

在YouTube窗口分別顯示和消失時獲取這些調用。

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


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

嘿,如果這就是你需要的所有通知你的方式,你是好!

+0

我其實只是需要它,只是爲了讓我知道何時將其他物體移開!非常感謝! :)(但我會保持這個問題幾天,但。) – Emil

+0

這適用於youtube視頻,但不是vimeo!它可能與HTML5有關嗎? (仍然是正確的答案,接受和獎勵賞金:)) – Emil

+0

你必須,你是自己嵌入視頻? – peterp