在UIWebView中显示YouTube视频的模态视图的意外行为

时间:2012-02-12 01:05:46

标签: uiwebview youtube xcode4.2 modalviewcontroller gdata

我有一个基于视图的应用程序(没有故事板),带有一个按钮,用于显示带有webview的模态视图。 webview加载YouTube视频,用户点按该视频并全屏观看视频。

当视频结束(或用户点击“完成”)时,视频播放器会解散,但由于某种原因,我看到的是主视图而不是模态视图控制器(我无法再次调用模态视图按钮,虽然正在调用IBAction)...

目前的模态视图代码(在主视图控制器中):

SomeViewController *controller = [[[SomeViewController alloc] initWithNibName:@"SomeViewController_iPhone" bundle:nil] autorelease];
                controller.delegate = self;
                controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
                [self presentModalViewController:controller animated:YES];

然后,在“SomeViewController”中,我有一个加载YouTube视频的UIWebView:

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame {
    NSString *embedHTML = @"\
    <html><head>\
    <style type=\"text/css\">\
    body {\
    background-color: transparent;\
    color: white;\
    }\
    </style>\
    </head><body style=\"margin:0\">\
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
    width=\"%0.0f\" height=\"%0.0f\"></embed>\
    </body></html>";
    NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
    [self.webView loadHTMLString:html baseURL:nil];
}

视频播放得很好,但是一旦完成,它就会被解散,主视图会被显示而不是模态视图(SomeViewController)。 不过没有错误。

根据我的理解,视频播放器也是模态视图,因此层次结构是这样的:

-- Main View
---- Modal View (SomeViewController with WebView)
-------- Video Modal View (invoked by the WebView)

所以我不明白为什么在视频完成播放后显示主视图控制器,以及为什么它不允许我再次调用模态视图控制器...

感谢您的帮助!

0 个答案:

没有答案