0

我有一个只支持纵向模式的应用程序,它有一个表格,每个单元格都包含一个标题和一个带有 YouTube 视频的 web 视图。

现在,您将如何让 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);
}
4

1 回答 1

0

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

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

于 2013-08-21T08:06:00.820 回答