Что я пытаюсь сделать, это загрузить некоторые файлы ресурсов HTML в ячейки UITableView. Я хотел бы настроить высоту ячеек в зависимости от размера содержимого UIWebView. Ниже приведены некоторые из моих тестовых кодов.Динамическая высота UITableViewCell для ячейки, которая содержит UIWebView в iOS
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"TableCellID";
CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil];
cell = [nibArray objectAtIndex:0];
}
NSString *htmlFileName = [NSString stringWithFormat:@"page%ld", (long)indexPath.row];
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:htmlFileName ofType:@"html"];
NSString *htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
[cell.webView loadHTMLString:htmlString baseURL: [[NSBundle mainBundle] bundleURL]];
return cell;
}
Если я описываю свою CustomTableViewCell.xib, он имеет UIWebView внутри Content View и UIWebView имеет следующие ограничения данные.
ContentView.Bottom = WebView.Bottom + 8
ContentView.Top = WebView.Top +8
ContentView.Leading = WebView.Leading + 8
ContentView.Trailing = WebView.Trailing + 8
HTML fils не содержит JavaScript или CSS-контента. Простой, как показано ниже.
<html>
<header>
</header>
<body>
<p>eeeee eeeee eeeee eeeee eeeee eeeee eeeee eeeee eeeee eeeee</p>
</body>
</html>
Теперь мой внешний стаж, как показано ниже.
Как я уже объяснял сверху, мои веб-страница не содержит JavaScript. Поэтому я могу не использовать метод stringByEvaluatingJavaScriptFromString
для возврата текста.
Возможный дубликат [Как изменить высоту загруженной ячейки таблицы?] (Http://stackoverflow.com/questions/20666405/how-do-i-change-the-height-of-of- a-table-cell-that-has-already-loaded) –
Я считаю, что вычисление высоты веб-просмотра после его загрузки будет проще, а затем позволит настроить ячейку на основе высоты webView. – Joshua