Custom draw a UITableViewCell

16,250

Solution 1

Loren Brichter (author of Tweetie) talked about this in one of the iTunes U Stanford iPhone Programming course lectures. He said that he had gotten great scrolling performance results by subclassing UITableViewCell and drawing the contents of each cell directly and he gives a code example in his blog post on the subject.

He also notes that apple has added a similar example in one of their code examples.

Solution 2

Loren Brichter's blog is no longer available. However, the code was moved here:

https://github.com/enormego/ABTableViewCell

In the hope it's a more permanent URL.

Solution 3

Try creating a subclass of UIView (with your own drawRect) and assign it to the table cell's contentView instead.

Share:
16,250
Reinout van Rees
Author by

Reinout van Rees

Geek, pure and simple.

Updated on June 04, 2022

Comments

  • Reinout van Rees
    Reinout van Rees almost 2 years

    I am trying to create a UITableViewCell which overrides the complete drawing of the contents. I have overridden drawRect, which is being called, but it still draws the default contents.

    How do I get it to stop drawing the default contents and how do I replace it with my own rendering?

    - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    
        DLog (@"Overloaded TableCell initWithStyle");
        if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
    
        }
        return self;
    }
    
    - (void)drawRect:(CGRect)rect {
        DLog (@"TableCell::drawRect");
    
        // expecting it to draw nothing
    }
    
  • Michael Grinich
    Michael Grinich almost 14 years
    this is also always covered a ton at WWDC, if you can get the session videos.
  • tyler
    tyler over 11 years
    I don't see how this response answer's the question: 'I have overridden drawRect, which is being called, but it still draws the default contents.'
  • Olaf
    Olaf over 10 years
    There is a snapshot of the Blog entry in the web.archive: web.archive.org/web/20081215081040/http://blog.atebits.com/2‌​008/…