Customizing UITabBarController & TabBar 숨기기

UIKit의 UITabBarController는 분명 아주 편리한 Controller임에 틀림이 없다. 하지만 그라데이션이 적용된 검은 바(Bar)를 다른 색상으로 변경할 수 없고 이쁘게 디자인한 이미지는 음각처리를 해버리며, 글자 크기는 고정되어 있다는 단점이 있다. 디자이너들은 분명 이런 부분이 불만일테고, 개발자는 쉽게 쓸 수 있는 UITabBarController를 포기하거나 힘들게 Customizing 할 수 밖에 없다. 더욱이 UITabBarController의 tabBar에 addSubview나 insertSubview 하는 방법은 iOS4까지 유효하였으나 iOS5에서는 아래와 스크린샷과 같이 적용한 이미지는 사라지고 TabBar만 덩그러니 보여지게 되는 문제점이 있다. 실제로 여러 앱들이 이런 현상이 있었고 아직도 고쳐지지 않은 앱들이 많이 존재한다.   그럼 방법이 없는 것일까? 이 때문에 ‘UITabBarController를 내 손으로 만들어야하는가?’ 라는 생각에 한숨만 나올 것이다. 하지만 아래와 같이 구현하면 UITabBarController를 사용할 수 있으며 이미지도 올릴 수 있어 쉽게 사용이 가능할 것이다. 1. UITabBarController를 상속받는 Class를 생성한다.   2. UITabBarController는 UIViewController를 상속받기 때문에 일반적으로 사용하는 ViewController와 같은 구조를 가지고 메소드가 호출된다. 따라서 loadView나 viewDidLoad에서 TabBar 영역을 대신할 View를 하나 생성하여 self.view에 addSubview한다. TabBar의 높이는 49 픽셀이다. – (void)loadView   …