表单元格景观模式的Youtube播放器

时间:2013-08-21 07:57:19

标签: ios objective-c uitableview uiwebview youtube

我的应用程序仅支持具有表格的肖像模式,每个单元格包含标题和带有YouTube视频的网页视图。

现在你怎么会让Youtube播放器同时处于横向和纵向模式?

    [cell.titleLabel setText:[[[StoreVars sharedInstance].sharedArrayOfVideo objectAtIndex:indexPath.row] objectForKey:@"title"]];
    NSString *ID = [[[StoreVars sharedInstance].sharedArrayOfVideo objectAtIndex:indexPath.row] objectForKey:@"id"];
    NSString *code = [NSString stringWithFormat:@"<iframe width=\"280\" height=\"170\" src=\"//www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe>",ID];
    NSLog(@"Loading video: %@",code);
    [cell.videoWebView loadHTMLString:code baseURL:[NSURL URLWithString:@"http:"]];
    [cell.videoWebView.scrollView setScrollEnabled:NO];
    [cell.videoWebView.scrollView setBounces:NO];

我已经四处搜索并找到了这样的代码,但我无法访问单元格webview。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if(webView && webView.superView) return YES;
    return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}

1 个答案:

答案 0 :(得分:0)

如果您正在为iOS 6.0及更高版本开发,我建议您使用 -supportedInterfaceOrientations

但是,我不建议使用这种方法来旋转单元格,因为我很确定它不会在设备改变它的方向时被调用(特别是如果父控制器已经禁用了景观)。您可以尝试在您的(子类)单元格中侦听UIDeviceOrientationDidChangeNotification以旋转webview并在视图控制器中(使用表视图)并在表视图上运行-reloadData以正确调整单元格的大小(假设景观webview比纵向webview更高