본문 바로가기
Xcode/IOS

IOS) Navigation Bar title 변경하기

by 후르륵짭짭 2020. 7. 2.
728x90
반응형

hururuek-chapchap.tistory.com/5

 

IOS)Navigation Bar에 대해 알아가기

곤니찌와! 안녕하세요 후르륵짭짭 입니다. 이번에는 네비게이션 바에 대해서 다뤄 볼까 합니다. 앱을 만드면서 안 쓸려고 해도 무조건 써야하는 Navigation Bar! 이번에는 내용이 많아서 1부 부터 3��

hururuek-chapchap.tistory.com

안녕하세요!!! 후르륵짭~~짭 입니다.

이번에는 Navigation Bar의 title을 바꾸는 방법을 배워 보도록 하겠습니다.

위 링크를 타고 가면 완성작을 볼 수 있습니다. 

Navigation Bar의 title을 다루는건 stroyBoard를 사용해서 쉽게 변경 할 수 있습니다.

하지만  만약에 협업작업을 한다고 stroyBoard를 따로따로 만들거나, title을 꾸미고 싶을 때는 코드로 작성 할 수 밖에 없습니다.

그래서 이번에는 코드로 Navigation Bar의 Title을 코드로 변경하는 것을 배워 볼려고 합니다.!!!

1) navigationItem.title 을 이용하자!!!

Navigation Title을 변경하는 방법은 진짜 간단하게 navigatioinItem.title = " 내용 " 이렇게 해주면 됩니다.

그리고 색을 변경하고 싶을 때는 

navigationiController.navigationBar.titleTextAttributes = [ .foregroundColor : UIColor.원하는색 ]

이렇게 해줘서 변경해주면 됩니다!

단) navigationController.navigationBar는 모든 뷰에 적용이 되기 때문에, 뷰의 변환이 있을 때 돌아가도록 해줘야합니다.

2) navigationItem.titleView를 이용하자!!!

전 주로 이 방법을 더 선호 합니다.

이 방법을 사용하면 네비게이션의 title을 제 마음대로 꾸밀 수 있기 때문입니다.

코드가 길죠......

근데 이건 일부러 길게 한 겁니다.

사실 이 방법은 네비게이션 타이틀 부분에 UIView()를 넣는 거라 생각하면 편합니다.

navigationItem.titleView가 바로 네비게이션 타이틀 부분에 View를 넣게다는 것과 동일하다 생각하면 됩니다.

navigationItem.titleView = "버튼 / 라벨 / 스택,,, 모든 뷰 항목" 

간단하죠???

그런데 사용하기 위해서는 코드로 뷰를 생성해줘야합니다.

가장 간단한 UILabel() 만 설명하도록 하겠습니다.

UILabel()를 생성합니다.

이때 네비게이션 타이틀에 들어갈 라벨의 크기를 지정해줘야하는데요. 

CGRect()로 크기를 지정해줘도 되지만 font를 통해 글자의 크기를 설정해준다면, sizeToFit()을 통해서 자동으로 설정 해줄 수 있습니다.

 

참고로 titleView안에 라벨을 다양하게 넣거 싶거나 라벨과 버튼을 넣고 싶다면 저렇게 원하시는 객체를 생성해주고

스택 뷰 안에 넣어주세요.

그런 다음 그 스택뷰를 navigationItem.titleView = "스택 뷰" 

이렇게 해주면 됩니다.

 

지금 까지 Navigation Bar의 타이틀을 변경하는 방법을 알아보았습니다.

앞으로 제가 어려웠고 새롭게 배운 내용을 더욱 많이 담아 보도록 하겠습니다!!.

728x90
반응형

댓글