Reputation: 13860
In iOS5 i want to load Youtube movies, and i done it with:
- (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];
videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:html baseURL:nil];
[self.view addSubview:videoView];
}
calling by:
[self embedYouTube:@"http://www.youtube.com/v/PqtUSSdf8b4" frame:CGRectMake(0, 0, self.view.frame.size.width, 100)];
And i have standard Youtube frame with "done" button. When i hit done button i'm redirect to my root VC. why? how can i get to my VC (the one when i'm calling it) ?
And more important - how to catch "done button" event ?
EDIT:
I have MainVC and DetailVC. MainVC calls DetailVC as a ModalViewController
. From there I call this embedYouTube
method. When i'm hitting done on this screen:
i'm returning to MainVC not DetailVC. Why? How to catch this event?
EDIT: And iOS 6 displays only black background - nothing. Why?
Upvotes: 3
Views: 2084
Reputation: 23359
The fullscreen video player will dismiss when you tap the done button, this is encapsulated into that full screen player which the system automatically presents as part of this youtube/flash safari embed trick. You shouldn't try to do anything when this is used.
About iOS 6 - iOS 6 no longer supports this way of embedding YouTube videos in your application (source)
As of iOS 6, embedded YouTube URLs in the form of http://www.youtube.com/watch?v=oHg5SJYRHA0 will no longer work. These URLs are for viewing the video on the YouTube site, not for embedding in web pages. Instead, the format that should be used is described here: https://developers.google.com/youtube/player_parameters.
Upvotes: 5
Reputation: 1081
The behavior of "DONE" button by default is that it dismisses all the modal view controllers, as you are presenting the DetailVC modally, so its also dismissed, you need to change the presenting method of DetailVC. Try simply by pushViewController.
Upvotes: 0