如何在YouTube视频框架内显示活动指示器?

时间:2013-01-12 17:57:55

标签: iphone ios xcode youtube

在我的应用中,我使用以下代码嵌入了YouTube视频:

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

NSString *embedHTML = @"<body style=\"margin:0\"> <iframe height=\"110\" width=\"110\" src=\"http://www.youtube.com/embed/video id\" frameborder=\"0\"/></iframe> </body> ";


NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];


[videoView loadHTMLString:html baseURL:nil];
[self.scrollView addSubview:videoView];
[videoView release];
NSLog(@"%@",html);

}

并在viewWillAppear方法中:

-(void) viewWillAppear:(BOOL)animated {

[self playVideo:@"http://www.youtube.com/watch?video id" frame:CGRectMake(5, 20, 110, 110)];

}

但是当我的视图加载时,我的视频显示需要一段时间,这可能会让用户觉得没有任何反应,所以我想在这些框架中显示一个活动指示器。 你能帮助我吗?感谢。

2 个答案:

答案 0 :(得分:0)

了解如何在滚动视图中添加“videoView”?为什么不以类似的方式将“UIActivityIndicator”视图作为子视图添加到videoView或滚动视图中?

确保保留该活动指示器的手柄/插座,并在视频开始播放时将其移除。

答案 1 :(得分:0)

使用UIWebview更好的表现使用这种方式

<{1>}文件中的

First SET ViewController.h作为代表

UIWebViewDelegate

@interface ViewController : UIViewController<UIWebViewDelegate> { UIWebView *videoView; } 所有这些方法override放入ViewController.m文件

– webView:shouldStartLoadWithRequest:navigationType:
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError:

编写代码显示活动指示代码相应地显示指标

有关详细信息,请参阅此Link

编辑:

  1. 显示&amp;在– webViewDidStartLoad:方法

  2. 中启动Activityindicator的动画
  3. – webViewDidFinishLoad:方法

  4. 中停止Activityindicator的动画
  5. 别忘了设置Delegate