No se pueden cargar complementos de comentarios de Facebook completos dentro de una UIWebView de iOS

Tengo un ViewController simple para cargar complementos de comentarios FB dentro de un UIWebView

 @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIWebView * webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 1505.0f)]; NSString * html = @"\ <!DOCTYPE html>\ <html xmlns:fb='http://ogp.me/ns/fb#'>\ <head>\ <meta name='viewport' content='width=device-width, initial-scale=1.0'>\ </head>\ <body style='background-color:networking;'>\ \ <div id='fb-root'></div>\ <script>(function(d, s, id) {\ var js, fjs = d.getElementsByTagName(s)[0];\ if (d.getElementById(id)) return;\ js = d.createElement(s); js.id = id;\ js.src = 'http://connect.facebook.net/en_US/all.js#xfbml=1&appId=xxx';\ fjs.parentNode.insertBefore(js, fjs);\ }(document, 'script', 'facebook-jssdk'));</script>\ \ <fb:comments href='http://example.com' num_posts='10'></fb:comments>\ \ </body>\ </html>\ "; [webView loadHTMLString:html baseURL:nil]; [self.view addSubview:webView]; 

Puedo ver los comentarios cargados, pero solo la altura es extraña, ¿parece que el cambio de tamaño automático falló? Puedo ver los comentarios completos si estoy usando safari mobile.

Captura de pantalla de Simulator

puede usar este código para mostrar el comentario fb en iOS UIWebview

  UIWebView *fbWebview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 1505)]; [fbWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.facebook.com/Levis"]]]; CGRect scrollViewFrame = CGRectMake(0, 0, 320, 1024); UIScrollView *scrollViewMain = [[UIScrollView alloc] initWithFrame:scrollViewFrame]; CGSize scrollViewContentSize = CGSizeMake(320, 1505); [scrollViewMain setContentSize:scrollViewContentSize]; [scrollViewMain setBounces:NO]; [scrollViewMain setScrollEnabled:YES]; [scrollViewMain setShowsVerticalScrollIndicator:YES]; [scrollViewMain setBackgroundColor:[UIColor networkingColor]]; [scrollViewMain addSubview:fbWebview]; [self.view addSubview:scrollViewMain]; 

En lugar de " https://www.facebook.com/Levis " use su URL de FB

esto te puede ayudar

Necesita especificar un baseURL

 [webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.example.com"]]; 

@Howard puedes usar http://www.facebook.com/plugins/comments.php?href=http://www.google.com 'scrolling =' yes 'profile =' yes 'frameborder =' 0 'style = 'borde: ninguno; desbordamiento: oculto; ancho: 300px; altura: 30px; ' data-href = ' http://www.google.com ' allowTransparency = 'true'> "

El mismo problema aqui. La solución no era utilizar un file HTML local (o una cadena HTML). Suba el file HTML a un server y use:

 NSURL *url = [NSURL URLWithString:@"http://www.blablblab.com/yourfile.html"]; [self.webview loadRequest:[NSURLRequest requestWithURL:url]]; 

en lugar de:

 [self.webview loadHTMLString:localString baseURL:nil]; 

Aún no descubrí por qué hay una diferencia en el layout cuando el file está en un server, pero cuando es un file local, la altura de mi vista de comentarios de Facebook siempre se networkingujo a "altura: 160". Aparentemente se debe a la secuencia de commands de Facebook "all.js" (de acuerdo con esta pregunta ).