菜鸟教程小白 发表于 2022-12-12 23:20:23

ios - iOS 中包含 UIWebView 的单元格的动态 UITableViewCell 高度


                                            <p><p>我正在尝试将一些 HTML 资源文件加载到 UITableView 单元格中。我想根据 UIWebView 的内容大小调整单元格高度。以下是我的一些测试代码。</p>

<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *cellIdentifier = @&#34;TableCellID&#34;;

    CustomTableViewCell *cell = (CustomTableViewCell *);

    if (cell == nil) {
      NSArray *nibArray = [ loadNibNamed:@&#34;CustomTableViewCell&#34; owner:self options:nil];
      cell = ;
    }

    NSString *htmlFileName = ;

    NSString *htmlFile = [ pathForResource:htmlFileName ofType:@&#34;html&#34;];
    NSString *htmlString = ;
    bundleURL]];

    return cell;
}
</code></pre>

<p>如果我描述了我的 CustomTableViewCell.xib,它在内容 View 中有一个 UIWebView,并且 UIWebView 有以下约束。</p>

<pre><code>ContentView.Bottom = WebView.Bottom + 8
ContentView.Top = WebView.Top +8
ContentView.Leading = WebView.Leading + 8
ContentView.Trailing = WebView.Trailing + 8
</code></pre>

<p>HTML 文件没有 JavaScript 或 CSS 内容。简单如下。</p>

<pre><code>&lt;html&gt;
    &lt;header&gt;
    &lt;/header&gt;
    &lt;body&gt;
      &lt;p&gt;eeeee eeeee eeeee eeeee eeeee eeeee eeeee eeeee eeeee eeeee&lt;/p&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>

<p>现在我的输出如下图所示。</p>

<p> <a href="/image/W40jw.png" rel="noreferrer noopener nofollow"><img src="/image/W40jw.png" alt="enter image description here"/></a> </p>

<p>正如我在顶部所解释的,我的网页不包含任何 JavaScript。所以我可能无法使用 <code>stringByEvaluatingJavaScriptFromString</code> 方法来返回文本。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><strong>试试这个</strong></p>

<pre><code>- (void)viewDidLoad {
    ;
    arrOfHTMLList= [ init];
    NSMutableDictionary *dic1 = [ init];
    ;
    ;

    NSMutableDictionary *dic2 = [ init];
    ;
    ;

    NSMutableDictionary *dic3 = [ init];
    ;
    ;

    NSMutableDictionary *dic4 = [ init];
    ;
    ;

    ;
    ;
    ;
    ;
    }


-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = ;
    UIWebView *webView = (UIWebView*);
    NSString *myHTML = arrOfHTMLList[@&#34;htmlString&#34;];
    ;
    webView.delegate = self;
    webView.frame = CGRectMake(0, 0, screenWidth,cell.frame.size.height);
return cell;
}


-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    for (UIView *parent=;parent!=nil ;parent= )
    {
      if(])
      {
            UITableViewCell *cell=(UITableViewCell *)parent;
            NSIndexPath *indexPath=;
            int height = webView.scrollView.contentSize.height;
            [ setObject: forKey:@&#34;height&#34;];
             withRowAnimation:UITableViewRowAnimationNone];
      }
    }
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat height = [@&#34;height&#34;] intValue];
    return height;
}
</code></pre>

<p>希望对你有帮助。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iOS 中包含 UIWebView 的单元格的动态 UITableViewCell 高度,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41277161/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41277161/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iOS 中包含 UIWebView 的单元格的动态 UITableViewCell 高度