iOS5中的Youtube - 完成按钮Tapped

时间:2012-10-06 15:28:56

标签: objective-c ios ios5 webview youtube

在iOS5中我想加载Youtube电影,我用它完成了:

- (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只显示黑色背景 - 没有。为什么呢?

2 个答案:

答案 0 :(得分:5)

当您点击完成按钮时,全屏视频播放器将被解除,这被封装到系统自动呈现的全屏播放器中,作为此YouTube / flash safari嵌入技巧的一部分。使用它时,不应该尝试做任何事情。

关于iOS 6 - iOS 6不再支持在您的应用程序中嵌入YouTube视频的方式(source

  

从iOS 6开始,嵌入式YouTube网址形式为   http://www.youtube.com/watch?v=oHg5SJYRHA0将不再有效。这些   网址用于在YouTube网站上查看视频,而不是用于嵌入   在网页中。相反,描述了应该使用的格式   在这里:https://developers.google.com/youtube/player_parameters

答案 1 :(得分:0)

默认情况下“DONE”按钮的行为是它取消所有模态视图控制器,因为你以模态方式呈现DetailVC,所以它也被解雇了,你需要改变DetailVC的呈现方法。只需通过pushViewController尝试。