3

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: enter image description here

i'm returning to MainVC not DetailVC. Why? How to catch this event?

EDIT: And iOS 6 displays only black background - nothing. Why?

Jakub
  • 13,712
  • 17
  • 82
  • 139
  • You wont be able to catch the done button event, and can you please elaborate your question a bit more :), which controller you want on pressing done button? – Suhaiyl Oct 12 '12 at 12:09

2 Answers2

5

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.

Daniel
  • 23,129
  • 12
  • 109
  • 154
0

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.

Suhaiyl
  • 1,071
  • 9
  • 17