Установить динамическую высоту веб-просмотра в зависимости от контента iphone - PullRequest
2 голосов
/ 21 июля 2010

Я хочу установить динамическую высоту для веб-просмотра в зависимости от динамического текста. Я пробовал

       [my_webview sizeThatFits:CGSizeZero];

Но это не сработало для меня. Я хочу установить высоту веб-просмотра динамически.

Спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010

См. мой ответ на аналогичный вопрос. Хитрость заключается в том, чтобы установить рамку веб-вида на минимальную высоту до отправки -sizeThatFits:.

1 голос
/ 21 февраля 2014

Настройте веб-вид следующим образом:

- (void)webViewSettings {
    NSString *htmlString = @"Your HTML String";
    NSString* descHtmlString = [NSString stringWithFormat: @"<html><meta name=\"viewport\" content=\"width=300, user-scalable=yes\" /><div style='width:300px' id='ContentDiv'><font face=\"Arial\" size=2.5 color='#702f70'>%@</font></div></html>", htmlString];
    descHtmlString = [descHtmlString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    [self.webView loadHTMLString:descHtmlString baseURL:[NSURL URLWithString:@""]];
}

Затем реализовано UIWebViewDelegate в вашем файле интерфейса и следующий метод в файле реализации:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
        NSString *contentHeight = [self.descriptionWeb stringByEvaluatingJavaScriptFromString:@"document.getElementById('ContentDiv').offsetHeight"];
        self.descriptionWeb.frame = CGRectMake(10,webView.frame.origin.y, 300, [contentHeight floatValue]);
}
...