본문 바로가기

UIKIT/UITableView

❓backgroundColor와 contentView.backgroundColor의 차이

1. backgroundColor

  • UITableViewCell 자체의 배경색을 설정.
  • 셀의 바깥쪽 전체 배경색을 담당.
  • contentView가 차지하지 않는 영역(즉, 셀과 셀 사이의 간격이나 inset으로 인해 생긴 공간)에 영향을 줌.

 

2. contentView.backgroundColor

  • 셀의 **내용이 들어가는 부분(contentView)**의 배경색을 설정.
  • UITableViewCell은 contentView라는 서브뷰를 기본적으로 가지고 있으며, 모든 UI 요소는 여기에 추가되는 게 일반적.
  • contentView.layer.cornerRadius = 10 같은 설정이 이 영역에만 적용됨.
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)
    
    backgroundColor = .clear // 셀 자체의 배경을 투명하게 (UITableView의 배경이 보이도록)
    contentView.backgroundColor = .systemYellow // 실제 UI가 들어가는 부분만 노란색으로
}

 

아래 이미지에서 보면 각 셀 간의 간격이 떨어져 있는걸 확인할 수 있다. 

여기 들어가는 색상 조절을 backgroundColor로 하는 것이다.