Как рассчитать высоту HTML-строки?

#html #objective-c #ios4 #nsstring #css

#HTML #objective-c #ios4 #nsstring #css

Вопрос:

Я хочу отобразить html-текст на метке (TTStyleLabel). Я получаю текст в виде html. Как мне рассчитать высоту HTML-строки?

Ответ №1:

Чтобы получить высоту html-текста, вам нужно поместить эту html-информацию в uiwebview. После загрузки HTML-кода в uiwebview вы можете получить его высоту в его методах делегирования следующим образом —

 - (void)viewDidLoad
{
    [super viewDidLoad];
    webview.delegate = self;
    [webview loadHTMLString:@"<div id='foo' style='background: red'>The quick brown fox jumped over the lazy dog.</div>" baseURL:nil];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *output = [webview stringByEvaluatingJavaScriptFromString:@"document.getElementById("foo").offsetHeight;"];
    NSLog(@"height: %@", output);
}
  

Но если вы не отображаете текст на экране с помощью webview (поскольку вы используете TTStyleLabel), вы можете скрыть webview и загрузить в него html. Вам нужно выполнить несколько трюков.

Комментарии:

1. вы хотите сказать, что сначала проанализируйте html в WebView, а затем получите высоту из WebView и присвоите эту высоту некоторый запас ttstylelelable?

2. отправил вам письмо на ваш адрес gmail