【问题标题】:Youtube in iOS5 - done button TappediOS5 中的 Youtube - 点击完成按钮
【发布时间】:2012-09-27 11:40:18
【问题描述】:

在 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 方法。当我在这个屏幕上完成时:

我将返回 MainVC 而不是 DetailVC。为什么?如何捕捉这个事件?

编辑: 而 iOS 6 只显示黑色背景 - 什么也没有。为什么?

【问题讨论】:

  • 您将无法捕捉到完成按钮事件,请您详细说明您的问题:),按下完成按钮时您想要哪个控制器?

标签: objective-c ios ios5 webview youtube


【解决方案1】:

当您点击完成按钮时,全屏视频播放器将关闭,该按钮被封装到该全屏播放器中,系统会自动显示该全屏播放器,作为 youtube/flash Safari 嵌入技巧的一部分。使用它时,您不应该尝试做任何事情。

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

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

【讨论】:

  • 哦,谢谢,但是如何在 iOS 6 中播放呢?现在不可能了?
  • 不,现在您需要在 web 视图中使用 iframe。查看答案中的链接(Google YouTube 播放器)
【解决方案2】:

“DONE”按钮的默认行为是关闭所有模态视图控制器,因为您正在模态呈现 DetailVC,因此它也被关闭,您需要更改 DetailVC 的呈现方法。只需通过 pushViewController 尝试。

【讨论】:

  • 赶上这个活动怎么样?
  • 不,您将无法赶上活动。
猜你喜欢
  • 2017-03-23
  • 2019-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
相关资源
最近更新 更多