2012-10-06 17 views
3

在iOS5中我想加載YouTube電影,和我一起做它:由的Youtube在iOS5中 - 完成按鈕螺紋

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame { 

NSString *embedHTML = @"\ 
<html><head>\ 
<style type=\"text/css\">\ 
body {\ 
background-color: transparent;\ 
color: white;\ 
}\ 
</style>\ 
</head><body style=\"margin:0\">\ 
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
</body></html>"; 
NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height]; 
videoView = [[UIWebView alloc] initWithFrame:frame]; 
[videoView loadHTMLString:html baseURL:nil]; 
[self.view addSubview:videoView]; 

}

電話:

 [self embedYouTube:@"http://www.youtube.com/v/PqtUSSdf8b4" frame:CGRectMake(0, 0, self.view.frame.size.width, 100)]; 

,我有標準的Youtube框架與「完成」按鈕。當我完成按鈕時,我重定向到我的根VC。爲什麼?我怎麼能到我的VC(當我打電話給我的時候)?

而更重要的 - 如何捕捉「完成按鈕」事件?

編輯: 我有MainVC和DetailVC。 MainVC調用DetailVC作爲ModalViewController。從那裏我稱之爲embedYouTube方法。當我在這個屏幕上完成: enter image description here

我回到MainVC而不是DetailVC。爲什麼?如何抓住這個事件?

編輯: 和iOS 6只顯示黑色背景 - 什麼都沒有。爲什麼?

+0

你不會能夠完成按鈕事件,你可以請詳細說明你的問題多一點:),你想按下完成按鈕哪個控制器? – Suhaiyl

+0

我更新了我的問題。 – Kuba

回答

5

的全屏視頻播放器會解散,這被封裝成全屏播放器,系統將自動呈現爲這個YouTube /閃光燈Safari瀏覽器嵌入招的一部分。當使用這個功能時,你不應該嘗試做任何事情。

關於iOS 6的 - 的iOS 6不再支持的 http://www.youtube.com/watch?v=oHg5SJYRHA0將不再起作用的形式嵌入YouTube視頻在您的應用程序(source

隨着iOS 6後,嵌入YouTube網址的這種方式。這些 URL對於觀看視頻在YouTube網站上,而不是在網頁中嵌入 。相反,應使用的格式如下描述 :https://developers.google.com/youtube/player_parameters

+0

哦,謝謝你,但如何在iOS 6中播放它?現在不可能? – Kuba

+1

不,現在您需要在Web視圖中使用iframe。查看答案中的鏈接(Google YouTube播放器) – Daniel

+0

謝謝。有用 ;) – Kuba

0

默認情況下,「完成」按鈕的行爲是關閉了所有模態視圖控制器,因爲您以模態方式呈現DetailVC,因此它也被解散,您需要更改DetailVC的呈現方法。只需通過pushViewController來嘗試。當您點擊完成按鈕

+0

抓住這個事件怎麼樣? – Kuba

+0

不,你不能趕上事件。 – Suhaiyl