Похоже, что ваша HTML-строка сформирована неправильно.
Попробуйте это:
- (void)viewDidLoad {
[super viewDidLoad];
float width = 200.0f;
float height = 200.0f;
NSString *youTubeURL = @"http://www.youtube.com/watch?v=ZiIcqZoQQwg";
UIWebView *webView = [UIWebView new];
webView.frame = CGRectMake(60, 60, width, height);
NSMutableString *html = [NSMutableString string];
[html appendString:@"<html><head>"];
[html appendString:@"<style type=\"text/css\">"];
[html appendString:@"body {"];
[html appendString:@"background-color: transparent;"];
[html appendString:@"color: white;"];
[html appendString:@"}"];
[html appendString:@"</style>"];
[html appendString:@"</head><body style=\"margin:0\">"];
[html appendFormat:@"<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\"", youTubeURL];
[html appendFormat:@"width=\"%0.0f\" height=\"%0.0f\"></embed>", width, height];
[html appendString:@"</body></html>"];
[webView loadHTMLString:html baseURL:nil];
[self.view addSubview:webView];
}
Стоит отметить, что этот код будет работать только на устройстве, но не будетработа в симуляторе.
ОБНОВЛЕНИЕ ...
Из-за изменений, внесенных YouTube, описанный выше метод теперь некорректен.Вместо этого используйте метод ниже.
- (void)viewDidLoad {
[super viewDidLoad];
float width = 200.0f;
float height = 200.0f;
NSString *youTubeToken = @"K95Q0VFyhA8";
UIWebView *wv = [UIWebView new];
webView.frame = CGRectMake(60, 60, width, height);
NSMutableString *html = [NSMutableString string];
[html appendString:@"<html>"];
[html appendString:@"<head>"];
[html appendString:@"<style type=\"text/css\">"];
[html appendString:@"body {"];
[html appendString:@"background-color: transparent;"];
[html appendString:@"color: white;"];
[html appendString:@"margin: 0;"];
[html appendString:@"}"];
[html appendString:@"</style>"];
[html appendString:@"</head>"];
[html appendString:@"<body>"];
[html appendFormat:@"<iframe id=\"ytplayer\" type=\"text/html\" width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\"/>", width, height, videoToken];
[html appendString:@"</body>"];
[html appendString:@"</html>"];
[wv loadHTMLString:html baseURL:nil];
[self.view addSubview:wv];
}