我们正在开发一个应用程序,其中包含带有一些标准单元格的 TableView,而且还包含 YouTube 视频列表。我们知道如何将 YouTube 视频数据嵌入到 UIWebView 中并在用户触摸它时播放它。但要做到这一点,用户必须触摸 UIWebView。
由于它是一个 TableView,因此每个单元格都是典型的单元格,缩略图位于左侧,一些信息和附件按钮位于右侧。我们希望让用户触摸单元格中的任何位置,而不仅仅是 WebView (didSelectRow),这样视频就会开始。
我们怎样才能做到这一点?
- 我们考虑过在 didSelectRow 中启用 WebView,嵌入 HTML 数据并全屏显示,但通过这种方式,用户需要再次触摸播放按钮才能播放视频,对吗?
- 是否可以改用 MPMoviePlayerController,将视频的 flv 路径设置为请求 URL? (有推荐的API吗?)
- 最后一个是模拟 WebView 内部的触摸,这样即使用户没有触摸 UIWebView,它也会启动视频。是否可以?
- 还有其他建议吗?
回答我自己。我找到了解决方案。此代码将自动播放网络视图。
- (UIButton *)findButtonInView:(UIView *)view {
UIButton *button = nil;
if ([view isMemberOfClass:[UIButton class]]) {
return (UIButton *)view;
}
if (view.subviews && [view.subviews count] > 0) {
for (UIView *subview in view.subviews) {
button = [self findButtonInView:subview];
if (button) return button;
}
}
return button;
}
- (void)webViewDidFinishLoad:(UIWebView *)_webView {
UIButton *b = [self findButtonInView:_webView];
[b sendActionsForControlEvents:UIControlEventTouchUpInside];
}
YouTube 视频在 iPhone 的 Safari 或 UIWebView 上自动播放
希望它对其他人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)