iOS使用新的youtube API嵌入UIWebView更改

时间:2012-12-13 22:11:40

标签: ios uiwebview youtube-api

我开始注意到youtube视频加载到UIWebViews的方式发生了变化,我想知道这是否是我们未来应该期待的行为和/或我们是否可以复制以前的功能。

比较截图: Youtube video loaded into a webview

右边是旧的,左边是新的。添加的youtube按钮允许用户保留YouTube视频并进入youtube网络界面。我希望能够阻止用户离开正在播放的视频。

我目前在UIWebView上使用类似这样的类别:

- (void)loadYouTubeEmbed:(NSString *)videoId
{    
    NSString* searchQuery = [NSString stringWithFormat:@"http://www.youtube.com/embed/%@?showinfo=0&loop=1&modestbranding=1&controls=0",videoId];

    searchQuery = [searchQuery stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:searchQuery]];
    [self loadRequest:request];
}

我注意到我的查询将同时关注modestbranding = 1或showinfo = 0,但不能同时关注两者。当youtube重新设计推出时,这会改变吗?

1 个答案:

答案 0 :(得分:1)

当加载Youtube视频并点击webView:shouldStartLoadWithRequest:navigationType:时,您应该能够过滤掉该链接,以便它不会继续。

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if ([[[request URL] absoluteString] isEqualToString:@"<URL String Youtube spits out when video selected>"]) {
        NSLog(@"Blocking YouTube...");
        return NO;
    } else {
        NSLog(@"Link is fine, continue...");
        return YES;
    }
}