I have a simple tableViewCell build in interface builder.
It contains a UIView which contains an image.
Now, when I select the cell, the default blue selection background is shown, but the backgroundColor of my UIView is gone.
My UITableViewCell’s implementation file doesn’t do anything special. It just init’s & returns self and all I do in setSelected is call super.
How do I get my UIView backgroundColor to show when the tableView is selected?
The problem here is that the [super] implementation of
sets all the background colors in the UITableViewCell to rgba(0,0,0,0). Why? Perhaps to make us all sweat?
It is not that entire views disappear (as evidenced by the fact that if you change the views layer border properties, those are retained)
Here is the sequence of function calls that results from touching a cell
So your options are to
Unfortunately re-asserting the background colors in setHighlighted does nothing because setHighlighted is called before all the background colors get set to [r:0 b:0 g:0 a:0] by the first call to setSelected.
//TODO: Give a great description of how to override setSelected (stay tuned)