ios uiwebview height xcode4.3

ios - Obtén la altura del contenido de UIWebView



height xcode4.3 (3)

Este no era el enfoque correcto para manejar esta situación; en lugar de cargar la imagen en una vista de imagen y tener que tener siempre en cuenta la altura y el ancho y todo eso ... La solución más sencilla y confiable fue cargar la imagen dentro de la cadena html y ¡eso es todo! Solo asegúrese de que la baseURL sea así y todo estará bien, sin importar la orientación que tome:

NSString* extension = @"gif"; NSString* strRR = [NSString stringWithFormat:@"%@.%@", authorNAme2,extension]; NSString *path = [[NSBundle mainBundle] bundlePath]; //NSLog(@"This is the path %@", path); NSURL *baseURL = [NSURL fileURLWithPath:path]; // NSLog(@"this is the base URL %@",baseURL); NSString *cachePath = [NSString stringWithFormat:@"%@/%@", path,strRR]; NSString * htmlString = [NSString stringWithFormat:@"/ <html>/ <table width=''100%%''>/<tr>/<td>/ <body>/ <p style = ''font-size:30px;''> %@ </p>/ </td></tr><tr><td><br></td></tr><tr><td align =''center''><br><img src=''%@'' width=''60%%'' /></td></tr></body>/ </table>/ </html>",authorNAme , cachePath]; // NSString *selection = [WebV2 stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"]; // NSLog(@"*/*/*/*/**/*/*/*/*/*/*//*/ This is your selection mate %@" , selection); WebV.opaque = NO; WebV.backgroundColor = [UIColor clearColor]; [self.WebV setScalesPageToFit:YES]; [self.WebV loadHTMLString:htmlString baseURL:baseURL];

Tengo una vista en uiwebview que carga datos usando la función loadHtmlString. La cosa es que estoy cargando los datos de una base de datos sqlite, cada vez que carga una cadena diferente con una longitud diferente y, naturalmente, la vista web obtiene una altura diferente.
Ahora necesito saber cada vez la altura exacta de la vista uiweb para cargar una vista de imagen justo debajo de la vista web. Yo he tratado

- (void)webViewDidFinishLoad:(UIWebView *)aWebView { CGRect frame = aWebView.frame; frame.size.height = 1; aWebView.frame = frame; CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero]; frame.size = fittingSize; aWebView.frame = frame; NSLog(@"Size: %f, %f", fittingSize.width, fittingSize.height); }

Pero siempre obtengo el mismo resultado. Necesito saber cómo puedo obtener dinámicamente la altura de la vista web cada vez que se carga. Gracias


Prueba esto

NSString *result = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"]; int height = [result integerValue];

en su método webViewDidFinishLoad.


Puede obtener la altura del contenido en una vista web accediendo a la propiedad scrollView la vista web:

NSLog(@"%f",myWebView.scrollView.contentSize.height);