iOS Programming : Navigation Bar의 Back button title 변경하기
Dev Story/iOS Programming 2012. 3. 6. 14:08이전 포스팅에서 NavigationController를 사용해 Main View와 Sub View간의 화면 전환을 할 때
Main View -> Sub View 로 View가 전환되면서 Sub View의 Navigation Bar 좌측에 이전 View의 Title인 "Main View"라는 이름으로 Back button이 자동생성 된 것을 확인했다.
경우에 따라서는 자동으로 생성되는 이전 View의 title 대신 back button에 다른 이름을 부여하고 싶을 수도 있다.
예를들어 "Back" 또는 "Home" 등으로 변경하고 싶을 경우 어떻게 하면 될까???
우선 Main View -> Sub View 로 View 전환이 일어났고, 변경하고 싶은 Back button은 Sub View의 Navigation bar에 있다.
그럼 변경작업을 Sub View에서 하면 될까???
아니다.
Back Button의 속성등은 이전 View에서 작업을 해야한다.
즉, Main View 코드에서 Back button에 대한 속성을 설정하면 전환된 View (여기서는 Sub View)에 반영되어 생성된다.
MainViewController.m 파일을 열고 loadSubView 메소드 안에 아래와 같이 UIBarButtonItem 객체를 생성, 초기화한 후에 NavigationItem의 backBarButtonItem에 넣어주는 코드를 추가한다.
아래 예는 "Home" 이라는 title로 설정을 해 보았다.
다시 실행을 해보자.
초기 Main View 중앙에 있는 "Go to SubView" 버튼을 누르면 아래처럼 "Home" 이라는 이름을 가진 Back button으로 변경된 것을 확인할 수 있다.
Main View -> Sub View 로 View가 전환되면서 Sub View의 Navigation Bar 좌측에 이전 View의 Title인 "Main View"라는 이름으로 Back button이 자동생성 된 것을 확인했다.
경우에 따라서는 자동으로 생성되는 이전 View의 title 대신 back button에 다른 이름을 부여하고 싶을 수도 있다.
예를들어 "Back" 또는 "Home" 등으로 변경하고 싶을 경우 어떻게 하면 될까???
우선 Main View -> Sub View 로 View 전환이 일어났고, 변경하고 싶은 Back button은 Sub View의 Navigation bar에 있다.
그럼 변경작업을 Sub View에서 하면 될까???
아니다.
Back Button의 속성등은 이전 View에서 작업을 해야한다.
즉, Main View 코드에서 Back button에 대한 속성을 설정하면 전환된 View (여기서는 Sub View)에 반영되어 생성된다.
MainViewController.m 파일을 열고 loadSubView 메소드 안에 아래와 같이 UIBarButtonItem 객체를 생성, 초기화한 후에 NavigationItem의 backBarButtonItem에 넣어주는 코드를 추가한다.
아래 예는 "Home" 이라는 title로 설정을 해 보았다.
다시 실행을 해보자.
초기 Main View 중앙에 있는 "Go to SubView" 버튼을 누르면 아래처럼 "Home" 이라는 이름을 가진 Back button으로 변경된 것을 확인할 수 있다.
여기서 한 가지 궁금하지만 풀지 못한 의문이 있다.
반드시 위에서와 같이 UIBarButtonItem 객체를 생성해서 변경을 해야 하는 것인가?
위의 코드 대신 아래처럼 간단하게 해결할 수 있을 것 같은데 아래 명령은 전혀 먹히지가 않는다.
이유가 무엇인지 도저히 모르겠다...
혹시 아는 분이 계시다면 살짝 귀띔이라도 해주시기를.....
'Dev Story > iOS Programming' 카테고리의 다른 글
iOS Programming : 간단히 Scroll View를 구현해 보자 (0) | 2012.03.12 |
---|---|
iOS Programming : Empty Application + Interface Builder로 NavigationController 생성하기 (0) | 2012.03.07 |
iOS Programming : Empty Application Template 으로 Navigation controller 기본 구현하기 (2) | 2012.03.06 |
iOS Programming : Icon 투명라운드 효과 비활성화 하기 (0) | 2012.02.27 |
iOS Programming : Intro 화면의 Status bar 숨기기와 Delay 설정 (1) | 2012.02.24 |