菜鸟教程小白 发表于 2022-12-12 16:08:06

ios - 将 UIView 添加到重用的 UITableViewCell?


                                            <p><p>我拼命想达到以下效果:我有一个表格 View ,我想在其中扩展选择的单元格并显示一些附加信息。我重复使用表格单元格,仅供引用。在过去,我能够在另一个应用程序中实现这样的效果,但这似乎对我根本不起作用。所有对发生这种情况至关重要的方法都被调用,并且行扩展得很好,但是 <code>showExpandedContents</code> 方法中的 <code>additionalInfo</code> 表不会出现! </p>

<ul>
<li>如果我在单元格的初始化中<strong>创建</strong> <code>additionalInfo</code> 表,该表会出现,但是当我<strong>然后</strong> 尝试加载数据(由此,还有单元格)它只是不会重新加载表格。
但是负责这个 (<code>showExpandedContents</code>) 表的方法肯定是被调用的。 </li>
<li>如果我初始化 <strong>AND</strong> 在单元格的初始化代码中设置表格,一切正常。 </li>
</ul>

<p>所以这里有一些代码给你:</p>

<p>这是单元格设置:</p>

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

    static NSString *cellID = @&#34;MyCustomCell&#34;;
    UITableViewCell *cell = ;

    if(cell == nil){
      cell = [ initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
    }

    ((MyCustomCell*)cell).data = ;


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

<p>这里是选择方法:</p>

<pre><code>-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{


    ;
    //setting the current cell as the expandedRow, so that I can collapse it later
    expandedRow = ;
    [((MyCustomCell*)expandedRow) showExpandedContents];
    ;
    ;
    withRowAnimation:UITableViewRowAnimationFade];
    ;



}
</code></pre>

<p>这是 <code>MyCustomCell</code> 中的 <code>-showExpandedContents</code> 方法,我想在其中显示附加信息:</p>

<pre><code>-(void)showExpandedContents{

    additionalInfo = [ initWithFrame:CGRectMake(0, 80, self.frame.size.width, 250)];
    ;
    additionalInfo.backgroundColor = UIColorFromRGB(0xf9f9f9, 1.0);
    additionalInfo.layer.zPosition = MAXFLOAT;
    ;

}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>看起来像你的</p>

<pre><code> withRowAnimation:UITableViewRowAnimationFade];
</code></pre>

<p>正在为您提供一个新单元格,与调用 <code>showExpandedContents</code> 的单元格不同。</p>

<p>删除此行应该可以解决问题。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 将 UIView 添加到重用的 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19735893/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19735893/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 将 UIView 添加到重用的 UITableViewCell?