UITableViewCellのselectionStyleを使うとSDKで用意されている下記のカラーに変更することが可能です。

{% highlight swift %}

public enum UITableViewCellSelectionStyle : Int {

case None
case Blue
case Gray
@available(iOS 7.0, *)
case Default

}

{% endhighlight %}

ただし、上記方法だと用意されたカラー以外の指定はできないので、上記以外のカラーを利用したい場合には selectedBackgroundViewを利用すると便利です。
UITableViewDataSource ProtocolのcellForRowAtIndexPath内等でcellに対して selectedBackgroundViewを設定します。

{% highlight swift %} func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("SampleTableViewCell", forIndexPath: indexPath) as? SampleTableViewCell let selectedBackgroundView: UIView = UIView() selectedBackgroundView.backgroundColor = UIColor.redColor() cell?.selectedBackgroundView = selectedBackgroundView return cell! }

こうすることで、ハイライト時の背景色を指定することが出来ます。

Imgur

しかしながら、UITableViewCellはハイライト・選択時にsubviewsの背景色をclear colorにしてしまうので、 この実装方法だけだと、UITableViewCellにサブビューがある場合、サブビューの背景色も置き換わってしまいます。

例えば、上記のようなsubviewを置いた状態で挙動を確認するとサブビューの背景色がclear colorになってしまうので、背景がすべて赤色になったように見えます。

Imgur

これを避けるために、UITableViewCellのsetHighlightedメソッドをオーバライドして下記のように実装します

{% highlight swift %} override func setHighlighted(highlighted: Bool, animated: Bool) { super.setHighlighted(highlighted, animated: animated) self.subView.backgroundColor = UIColor.lightGrayColor() }

Imgur

subviewの背景色が書き換わらないようになりました。