web-dev-qa-db-fra.com

Obtenez la hauteur du contenu UIWebView

J'ai une uiwebview qui charge les données à l'aide de la fonction loadHtmlString. Le problème est que je charge les données à partir d'une base de données sqlite, chaque fois que je charge une chaîne différente avec une longueur différente et naturellement la vue Web obtient une hauteur différente.
Maintenant, j'ai besoin de connaître à chaque fois la hauteur exacte de l'uiwebview afin de charger une imageView juste sous la webView. j'ai essayé

- (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);
}

mais j'obtiens toujours le même résultat. J'ai besoin de savoir comment obtenir dynamiquement la hauteur de la vue Web à chaque fois qu'elle est chargée. THX

24
Elias Rahme

Essaye ça

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

int height = [result integerValue];

dans votre méthode webViewDidFinishLoad.

47
Sumit Mundra

Vous pouvez obtenir la hauteur du contenu dans une vue Web en accédant à la propriété scrollView de la vue Web:

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