<p>A UITableViewCell comes "pre-built" with a UILabel as its one and only subview after you've init'ed it. I'd <em>really</em> like to change the background color of said label, but no matter what I do the color does not change. The code in question:</p>

<pre><code>UILabel* label = (UILabel*)[cell.contentView.subviews objectAtIndex:0];
label.textColor = [UIColor whiteColor];
label.backgroundColor = [UIColor darkGrayColor];
label.opaque = YES;
</code></pre>

Your code snippet works fine for me, but it must be done after the cell has been added to the table and shown, I believe. If called from the
```
initWithFrame:reuseIdentifier:
```
, you'll get an exception, as the
```
UILabel
```
subview
has not yet been created.
Probably the best solution is to add your own
```
UILabel
```
, configured to your standards, rather than relying on this (very rickety) path to the built-in one.