我有一个基于视图的应用程序(没有故事板),带有一个按钮,用于显示带有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)
所以我不明白为什么在视频完成播放后显示主视图控制器,以及为什么它不允许我再次调用模态视图控制器...
感谢您的帮助!