Trying to force redraw of UITableViewCell

Suresh picture Suresh · Apr 24, 2010 · Viewed 19.8k times · Source

I found this post on Beveled UITableViewCells from http://news.selectstartstudios.com/beveled-uitableviewcells/. I'm using the technique to reduce the width of the cells, and for the most part it works great.

However, I have a small problem. Sometimes the cells are not redrawn properly. For example, even though a cell is supposed to be a "middle" cell, it is drawn as a "top" cell: yfrog.com/f1screenshot20100424at100

How can I fix this?

I have tried forcing the cell to redraw via [cell setNeedsDisplay], [cell setNeedsLayout], [tableView reloadRowAtIndexPath:withAnimation:], [cell drawrect:], and [tableView drawRect:atIndexPath]. I am out of ideas.

Thanks again!

Answer

Suresh picture Suresh · Apr 25, 2010

Turns out I needed to call [cell.backgroundView setNeedsDisplay] at the end of cellForRowAtIndexpath.