0

在我的应用程序中,我正在使用以下代码嵌入 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)];

}

但是当我的视图加载时,我的视频需要一段时间才能显示出来,这可能会让用户觉得什么都没有发生,所以我想在这些框架内显示一个活动指示器。你们能帮我吗?谢谢。

4

2 回答 2

0

看看你是如何将“ videoView”添加到你的滚动视图中的?为什么不以类似的方式将“ UIActivityIndicator”视图作为子视图添加到您的 videoView 或您的 scrollView 中?

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

于 2013-01-12T18:03:36.567 回答
0

为了使用UIWebview更好的性能使用这种方式

ViewController.h文件中

第一个 SETUIWebViewDelegate作为代表

@interface ViewController : UIViewController<UIWebViewDelegate> {

        UIWebView *videoView;
}

override所有这些方法都放入您的ViewController.m文件中

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

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

有关更多详细信息,请参阅此链接

编辑:

  1. – webViewDidStartLoad:方法中显示和启动 Activityindicator 的动画

  2. – webViewDidFinishLoad:在方法中停止Activityindicator的动画

  3. 不要忘记设置Delegate

于 2013-01-12T18:06:57.033 回答