Youtube和模态视图

时间:2012-03-16 10:07:07

标签: objective-c youtube modalviewcontroller presentmodalviewcontroller

我有一个显然是基本的问题。我有一个应用程序,其中有一个多媒体部分,其中包含视频(Youtube或Ted)。

当你选择一个视频(TableView)时,我打开一个带有一点描述的模态视图,如果它是一个Youtube视频,那么你必须点击它来打开视频。在另一种情况下,我使用MPMovieController。

我遇到的问题是Youtube视频。当我关闭播放器时,我的模态视图也会关闭,应用程序的其余部分使用模态视图不起作用(它不会打开模态视图)。

这里是描述视图的代码:

- (void)viewDidLoad{

[super viewDidLoad];

NSRange range = [sendVideo rangeOfString:@"youtube"];


if(range.length>0){


    NSString *htmlString =[NSString stringWithFormat:@"<html><head>"
                           "<meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head>"
                           "<body style=\"background:#F00;margin-top:0px;margin-left:0px\">"
                           "<div><object width=\"212\" height=\"172\">"
                           "<param name=\"movie\" value=\"%@\"></param>"
                           "<param name=\"wmode\" value=\"transparent\"></param>"
                           "<embed src=\"%@\""
                           "type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"212\" height=\"172\"></embed>"
                           "</object></div></body></html>",sendVideo,sendVideo];



    [youtube loadHTMLString:htmlString baseURL:nil];



}

else

{...

以下是我用于在TableView中选择视频的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


if(videosContenido ==YES){



    VerDetalles *vd = [[[VerDetalles alloc]initWithNibName:@"VerDetalles"

                                                   bundle:nil]autorelease];



    vd.sendTitle = [aux2 objectAtIndex:[indexPath row]];

    vd.sendDesc = [aux6 objectAtIndex:[indexPath row]];

    vd.sendVideo = [aux4 objectAtIndex:[indexPath row]];

    UINavigationController *navController= [[[UINavigationController alloc]

                                            initWithRootViewController:vd]autorelease];

    if(navController){

        navController.modalPresentationStyle = UIModalPresentationFormSheet;

        navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

    }else {

        [tableView deselectRowAtIndexPath:indexPath animated:YES];

    }

    [self presentModalViewController:navController  animated:YES];  

}

1 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题。我注意到没有在我的应用委托中设置window.rootViewController属性解决了这个问题。 (只需调用[window addSubview:rootViewController.view])。但是,在iOS 6中,当未设置窗口的rootViewController时,自动旋转不起作用。