I have a custom UITableViewCell with a custom layout. I wanted a gradient background, so in my UITableViewDelegate cellForRowAtIndexPath: method, I create a CAGradientLayer
I'm not sure about the first question but I think you can set the selectedBackgroundView property similarly to how you set the backgroundView property. The white space between cells is probably the separator. You can change that color like