정리/01. Title & Prompt

Title의 Text 입력하기

skyotter84 2022. 9. 1. 15:57

 

 

 

 

 

# VC 네비게이션바의 title 입력하기

navigationItem.title = "타이틀"

 

 

 

 

 

# Description

 

단순하게는 아래와 같이 title 코드만으로도 변경할 수 있다.

title = "타이틀"

 

하지만 둘을 비교해보면 

title navigationItem.title

title은 [네비게이션VC]의 이름, [현재 VC]의 이름, [네비게이션바의 이름], 또 여기는 없지만 [툴바의 이름]을 모두 바꿔버린다.

 

단순한 화면일 경우에는 title을 써도 좋겠지만, 어떤 결과를 낳을지 명확히 하고 가야 한다면 navigationItem.title을 쓰도록 하자.

 

 

 

 

또다른 코드를 하나 더 살펴보자.

navigationController?.navigationBar.topItem?.title = "타이틀"

이걸로도 타이틀을 바꿔줄 수 있는데, 이 중에 topItemnavigationItem 중에 가장 상단에 있는 것을 말한다.

 

그런데 topItem은 화면이 바뀔 때마다 계속해서 바뀌므로 이 코드는 결국 "타이밍"에 엮여있다.

 

만약 새로운 VCviewdidLoad에다 작성한다면, 저 코드를 작성한 view가 아직(did) appear하지 않았으므로 사라지지 않은 이전 뷰의 타이틀이 바뀌게 된다.

 

즉, 저 코드를 쓰려면 viewDidAppear에다 작성해야 한다는 것이다.

 

분명 필요할 때가 있겠지만 그게 아니라면 navigationItem.title로 명확하게 지정해주자.