I found a method to play YouTube video on MPMoviePlayerController. For this simply need a right url. That url may be obtained after playing YouTube video in iframe. My UIWeb
For me this library did work perfectly! https://github.com/hellozimi/HCYoutubeParser
There is no official API to get the "right" url, and likely there never will be. See the following link on the bottom.
http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/394c41dda8b4745a
Note that your method based on UIWebView does not play the movie in MPMoviePlayerController, but rather in a custom class called YTMoviePlayer. You can confirm it by playing a movie and then dumping the subview hierarchy starting at [[UIApplication sharedApplication] keyWindow].