In a UITextView i can resize the height of the control to it’s content like this:
CGRect frame = textView.frame;
frame.size.height = textView.contentSize.height;
textView.frame = frame;
But i want to use an UIWebView instead in order to show rich text. The UIWebVie’s content is:
NSString *myDescriptionHTML = [NSString stringWithFormat:@"<html> \n"
"<head> \n"
"<style type=\"text/css\"> \n"
"body {font-family: \"%@\"; font-size: %@; }\n"
"</style> \n"
"</head> \n"
"<body>%@</body> \n"
"</html>", @"helvetica",
[NSNumber numberWithInt:12], @"yadayadayada..."];
[webView loadHTMLString:myDescriptionHTML baseURL:nil];
So the UIWebView contains nothing but plain text. How can i achieve result similar to the above UITextView code?
Although in theory the JavaScript method provided
should work (and seems to work for most people), it just didn’t for me. I tried with a number of variation and it always returned a size that has nothing to do with the true content’s height. A one liner would come up with 260 or 244 height, for instance. Don’t know why (would love to know).
SO i ended up doing as hinted in this answer:
I think the JS way more elegant but hell, it doesn’t works for me and can’t figure out why, while this method worked out of the box.