그룹테이블에서 배경색상 적용하기

iOS6 버전이 나온지 좀 되서 아실만한 분들은 많이 있으시리라 생각합니다만, 혹 모르시는 분들을 위해 몇 자 적어보겠습니다.

보통 테이블에서의 배경색상은 tableView.backgroundColor으로 설정합니다.
iOS6에서 Plain 스타일의 테이블에서는 잘 작동하는데요, Group 스타일의 테이블에서는 그림1과 같이 전혀 먹지 않습니다.

iOS Simulator Screen shot 2013. 2. 11. 오후 4.33.08
그림1

이것을 해결하기 위해서는 다음과 같은 방법을 쓰면 해결이 됩니다.

소스코드를 설명하기 앞서 왜 이렇게 되었는지에 대해 설명드리겠습니다.

iOS6으로 업그레이드 되면서 기존의 UIColor 속성인 groupTableViewBackgroundColor가 deprecated 되었습니다.
이로 인해 테이블 그룹 스타일이 backgroundView로 초기화되어 얹어지게 되었지요.

엄밀히 따지면 세로 줄무늬는 칼라가 아닙니다. 이에 따라 애플이 명확하게 선을 긋기 위해 제거한 것 같습니다.
이로 인해 테이블의 backgroundView에 줄무늬가 얹어진 뷰로 대체되면서 그 밑에 숨어있는 테이블 백그라운드 칼라는 보이지 않게 되었습니다.

따라서 테이블의 백그라운드뷰를 투명한 뷰로 대체시키면 그 밑에 있는 테이블의 배경색을 볼 수 있게 되는 원리로 위와 같은 소스를 작성하시면 기존의 그림2처럼 사용하실 수 있게 됩니다.

2-9
그림2

Published by

안반장

Web과 App 개발을 하고 있으며 최근 워드프레스에 관심이 많아져 네이버 카페 워드프레스 홈페이지의 TF팀으로 활동 중 입니다.개인적으로는 안반장의 개발 노트라는 블로그를 운영하면서 개발의 즐거움과 고충들을 차곡차곡 담아가고 있습니다.