0

我正在使用带有原型单元格的动态 UITable,它是在 iOS 5 的故事板中创建的。在此表中,单元格高度取决于单元格的内容,并在 heightForRowAtIndexPath 中以编程方式进行评估。我的问题是在显示的表格中,单元格分隔线放置在错误的位置。以下是关于我的程序的一些事实:

  • 单元格内容和高亮显示在预期位置
  • 在 cellForRowAtIndexPath 我使用 dequeueReusableCellWithIdentifier 创建新单元格
  • heightForRowAtIndexPath 返回所有单元格的正确值

谁能帮我解决这个问题?我发现一个非常古老的线程在一年前讨论了同样的问题,但是没有建议任何解释/解决方案(请参阅通过单元重用错误绘制的 UITableView 分隔符?

非常感谢您的帮助。

谢谢,

阿尼斯

4

1 回答 1

0

谢谢你回复我的帖子。这种行为对我来说也很奇怪,因为我之前有一个动态单元格高度表可以正常工作。以下是您要求的信息:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *currentCell = nil;

    if([indexPath section] == 0 && [indexPath row]== 0)
    {
        currentCell = [issueDetailTable dequeueReusableCellWithIdentifier:@"DetailFieldCell"];

        NSString *summaryString;

        /* Here I call a method to figure out the value for summaryString */

        /* Here I call a method to figure out the frame for summaryLabel */

        summaryLabel = (UILabel *)[currentCell viewWithTag:1];
        [summaryLabel setFrame:summaryRect];
        [summaryLabel setText:summaryString];
    }
    return currentCell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{    
    CGFloat height;

    if([indexPath section] == 0 && [indexPath row]== 0)
    {
        NSString *summaryString;

        /* Here I call the same method to figure out the value for summaryString */

        /* Here I call the same method to figure out the frame for summaryLabel */

        /* height = height of the summary label */
    }

    return height;
}

就情节提要而言,我的表格使用原型单元格;我的表格自动调整大小和剪辑子视图并清除图形上下文;我的单元格清除图形上下文。

而且,我打算发布我的表格视图的屏幕截图,但显然我的 Stackoverflow 声誉积分还不够!:|

再次感谢您帮助我解决这个问题。

最好的问候, 阿尼斯

于 2013-07-08T14:12:39.520 回答