菜鸟教程小白 发表于 2022-12-12 15:53:04

ios - UITableView 滚动时数据消失?


                                            <p><p>我有一个 <code>UITableView</code>,我在其中从服务器获取数据并将其显示在 <code>UITableViewCell</code> 中。但是滚动时数据会消失。请帮忙 。 </p>

<p>这是我的 <code>cellForRowAtIndexPath</code> :-</p>

<pre><code>-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier=@&#34;CellIdentifier&#34;;
    CCCustomCell *cell=;

    //UITableViewCell *cell=;

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


    cell.keyText.text=[[[ objectAtIndex:indexPath.row] allKeys] objectAtIndex:0];
    cell.objectText.text=[[[ objectAtIndex:indexPath.row] allObjects] objectAtIndex:0];

    [cell.objectText addConstraint:[NSLayoutConstraint constraintWithItem:cell.objectText
                                                                attribute:NSLayoutAttributeWidth
                                                                relatedBy:NSLayoutRelationEqual
                                                                   toItem:nil
                                                                attribute:NSLayoutAttributeHeight
                                                               multiplier:1.0
                                                               constant:(cell.objectText.text.length&gt;0)?50:0]];

    ;
    tableView.allowsSelection=YES;

      if (indexPath.row==0)
    {
      cell.keyText.textColor=;
      cell.keyText.font=;
      ;

    }
    else
    {
      cell.keyText.textColor=;
      cell.keyText.font=;
      cell.objectText.textColor=;
      cell.objectText.font=;
      cell.userInteractionEnabled=YES;

    }

       return cell;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您遇到了单元格出列问题....您没有获得正确的单元格高度。按照以下方法分配数据并获得适当的高度。检查您的单元格的高度是否合适</p>

<pre><code>-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static YOUR_TABLEVIEW_CELL *sizingCell = nil;
    static NSString *CellIdentifier=@&#34;YOUR_TABLEVIEW_CELL_IDENTIFIER&#34;;
    sizingCell =;
    if (sizingCell==nil)
   {
       sizingCell=[initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
   }
    ;
    return ;
}

//assign all the labelshere
- (void)configureFareIssueCell:(YOUR_TABLEVIEW_CELL* )cell atIndexPath:(NSIndexPath *)indexPath
{
    //e.g
   cell.lbl.text=@&#34;YOUR_TEXT&#34;;
   cell.imageView.image=;
}

- (CGFloat)calculateHeightForConfiguredSizingCell:(YOUR_TABLEVIEW_CELL *)sizingCell
{
    CGSize size = ;
   return size.height + 1.0f; // Add 1.0f for the cell separator height
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier=@&#34;YOUR_TABLEVIEW_CELL_IDENTIFIER&#34;;
YOUR_TABLEVIEW_CELL   *cell =;
if (cell==nil)
{
    cell=[initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
   }
   ;
return cell;
}   
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UITableView 滚动时数据消失?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31578625/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31578625/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UITableView 滚动时数据消失?