iOS 앱을 개발하다 보면 내비게이션 바(Navigation Bar)의 텍스트 색상을 변경해야 하는 경우가 자주 있습니다. 처음에는 다소 까다로워 보이지만, 몇 줄의 코드만으로도 손쉽게 구현할 수 있습니다. 이 글에서는 Swift를 사용해 내비게이션 바의 타이틀 텍스트 색상을 변경하는 방법을 단계별로 알아보겠습니다.
1. 뷰 컨트롤러를 내비게이션 컨트롤러에 포함하기
먼저 스토리보드에서 해당 뷰 컨트롤러를 내비게이션 컨트롤러(Navigation Controller)에 임베드(Embed)합니다. 그런 다음 해당 뷰 컨트롤러의 내비게이션 아이템(Navigation Item) 타이틀을 'tutorial'과 같이 원하는 이름으로 지정합니다.

2. AppDelegate.swift에 코드 추가하기
이제 AppDelegate.swift 파일로 이동하여 didFinishLaunchingWithOptions 메서드 안에 아래 코드를 추가합니다.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let textColor = [NSAttributedString.Key.foregroundColor:UIColor.green]
UINavigationBar.appearance().titleTextAttributes = textColor
return true
}코드 설명
위 코드가 어떻게 동작하는지 간단히 살펴보겠습니다.
- NSAttributedString.Key.foregroundColor: 텍스트의 전경색(Foreground Color), 즉 글자 색상을 지정하는 속성입니다.
- UINavigationBar.appearance(): UIAppearance 프록시를 사용하여 앱 전체의 모든 내비게이션 바에 일괄적으로 스타일을 적용합니다.
- titleTextAttributes: 내비게이션 바 타이틀에 적용할 텍스트 속성(색상, 폰트 등)을 설정합니다.
여기서는 예시로 초록색(UIColor.green)을 적용했습니다. 원하는 색상으로 자유롭게 변경할 수 있으며, RGB 값이나 에셋 카탈로그에 정의된 커스텀 컬러도 사용 가능합니다.
3. 앱 실행 후 결과 확인하기
코드를 추가한 후 앱을 빌드하고 실행하면, 내비게이션 바의 타이틀 텍스트가 지정한 초록색으로 변경된 것을 확인할 수 있습니다.

추가 팁
특정 화면에만 다른 색상을 적용하고 싶다면, UINavigationBar.appearance() 대신 해당 뷰 컨트롤러의 viewDidLoad에서 개별 내비게이션 바 인스턴스에 직접 속성을 설정하면 됩니다. 또한 iOS 13 이상에서는 UINavigationBarAppearance 객체를 활용하는 것이 권장되는 방식이니 참고하세요.