Nakładające się widoki treści UITableViewCell

Mam tę tabelę, której komórki wyglądają tak:
Jak widzisz, górna granica każdej komórki powinna pokrywać się z komórką powyżej. W tej chwili ta granica jest częścią tła (jak dotąd nie zachodzi).

Teraz oddzieliłem ramkę od tła, a mój kod tworzenia komórki wygląda tak:

<code>#define QAImage(NAME) [[[UIImageView alloc] initWithImage:[UIImage imageNamed:NAME]] autorelease]

- (UITableViewCell*) tableView:(UITableView*)table cellForRowAtIndexPath:(NSIndexPath*)index
{
    UITableViewCell *cell = [table dequeueReusableCellWithIdentifier:@"Entry"];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                         reuseIdentifier:@"Entry"] autorelease];
        cell.backgroundView = QAImage(@"bg-cell.png");
        cell.selectedBackgroundView = QAImage(@"bg-cell-sel.png");
        cell.selectionStyle = UITableViewCellSelectionStyleGray;
        UIImageView *img = QAImage(@"disclosure.png");
        img.highlightedImage = [UIImage imageNamed:@"disclosure-sel.png"];
        cell.accessoryView = img;
        CGRect r = cell.frame;
        r.size.height = table.rowHeight;
        r.size.width = table.frame.size.width;
        cell.frame = r;
        r = cell.contentView.frame;
        r.origin = CGPointMake(13, 13);
        r.size.width -= 8 + img.frame.size.width;
        r.size.height -= 25;
        [cell.contentView addSubview:[[[TagView alloc] initWithFrame:r] autorelease]];
        img = QAImage(@"cell-top.png");
        img.highlightedImage = [UIImage imageNamed:@"cell-top-sel.png"];
        img.opaque = NO;
        r = img.frame;
        r.origin = CGPointMake(0, 1 - r.size.height); // The (supposed) overlapping happens here.
        img.frame = r;
        cell.contentView.clipsToBounds = NO;
        [cell.contentView addSubview:img];
    }
    // Here I set the title. (omitted)
    return cell;
}
</code>

Problemem jest,granica jest wyświetlana tylko podczas przewijania w górę tabeli, w przeciwnym razie sama pokrywa się z komórką nad nią. (Zła droga.)

próbowałem[cell setNeedsDisplay] w-tableView:willDisplayCell:forRowAtIndexPath:, dodając obramowanie (cell-top.png) za każdym razem, gdy żądana jest komórka (co oczywiście prowadzi do wielokrotnego rysowania i nie wygląda dobrze; niezależnie od tego, nadal nie rozwiązuje mojego problemu) i ustawieniaimg.layer.zPosition = 2.

Jak mogę zmusić UIImageView, aby cały czas pozostawał na topie?

questionAnswers(1)

yourAnswerToTheQuestion