Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift에서 내비게이션 바(Navigation Bar)의 하단 경계선을 제거하는 방법

Swift로 iOS 앱을 개발하다 보면 내비게이션 바(Navigation Bar) 하단에 나타나는 회색 경계선을 없애고 싶은 경우가 종종 있습니다. 다행히 이 경계선은 몇 줄의 코드만 추가하면 간단히 제거할 수 있습니다.

기본 상태의 내비게이션 바

먼저, 아무런 설정도 변경하지 않은 상태로 앱을 실행하면 내비게이션 바가 어떻게 보이는지 확인해 보겠습니다.

Swift에서 내비게이션 바(Navigation Bar)의 하단 경계선을 제거하는 방법

위 결과 화면에서 볼 수 있듯이, 내비게이션 바 하단에는 얇은 선과 함께 은은한 그림자가 기본적으로 표시됩니다. 이제 이 선(경계선)을 숨겨보겠습니다.

내비게이션 바 경계선이 생기는 원리

내비게이션 바의 기본적인 외관은 두 가지 요소에 의해 결정됩니다. 하나는 배경 이미지(background image)이고, 다른 하나는 그림자 이미지(shadow image)입니다. 하단에 보이는 경계선과 그림자는 바로 이 그림자 이미지에 의해 렌더링되는 것입니다.

1단계: 그림자 이미지 제거하기

먼저 그림자 이미지를 빈 이미지(empty image)로 설정하여 숨겨보겠습니다. viewDidLoad() 메서드에 아래 코드를 추가합니다.

self.navigationController?.navigationBar.shadowImage = UIImage()

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Swift에서 내비게이션 바(Navigation Bar)의 하단 경계선을 제거하는 방법

그림자 이미지만으로도 하단 경계선이 사라진 것을 확인할 수 있습니다.

2단계: 배경 이미지까지 제거하기

여기서 한 단계 더 나아가, 그림자 이미지와 같은 방식으로 배경 이미지까지 빈 이미지로 설정하면 내비게이션 바 자체가 완전히 투명해져 마치 사라진 것처럼 보이게 됩니다.

Swift에서 내비게이션 바(Navigation Bar)의 하단 경계선을 제거하는 방법

정리

내비게이션 바의 경계선을 제거하는 핵심은 shadowImage 속성에 UIImage(), 즉 빈 이미지를 할당하는 것입니다. 배경 이미지(backgroundImage) 역시 동일한 방식으로 설정하면 내비게이션 바를 완전히 투명하게 만들 수 있으므로, 상황에 맞게 활용하시기 바랍니다.