2011-08-03 5 views
11

다음과 같이 탐색 컨트롤러에 뷰 컨트롤러를 밀어 넣습니다.왜 self.navigationItem.backBarButtonItem은 항상 nil입니까?

[self.navigationController pushViewController:anotherViewController animated:YES]; 

그리고 나서 anotherViewController에서 self.navigationItem.BackBarButtonItem과 LeftBarButtonItem을 확인합니다.하지만 항상 nil입니다.

backBarButtonItem을 볼 수 있으며 정상적으로 작동하는 것 같습니다.

+0

당신은 viewDidAppear''후'backBarButtonItem' 등을 읽으려고해야합니다 .. viewWillAppear' /'viewDidLoad''에/'init..' 네비게이션 컨트롤러는 네비게이션 스택에 뷰가 완전히 푸시되지 않았기 때문에 아직 뒤로 버튼을 설정하지 않았을 것입니다. – darvids0n

답변

5

문서 : "이 항목이 탐색 모음의 뒤로 항목 인 경우 (탐색 항목의 맨 아래 항목 인 경우) 탐색 모음의 뒤로 단추로 나타낼 수 있습니다. 뒤로 버튼을 지정하십시오. 뒤로 막대 버튼 항목의 대상 및 동작은 nil이어야합니다. 기본값은 탐색 항목의 제목을 표시하는 막대 버튼 항목입니다. "

나는 이것이 항상 nil이되는 규칙이며, 기본값은 항상 nil이라는 것을 의미합니다.

self.navigationItem.backBarButtonItem되는 무기 호에 대한 유사한 주제는 여기에 설명했다 : Changing the UIBackButtonItem title

+0

나는 그것이 정확하다고 생각한다. 수동으로 앉아 있으면 backbarbuttonitem이 0이되지 않습니다. 나는 거기에 있다면 다른 버튼으로 덮어 쓰고 싶지 않기 때문에 뒤로 버튼이 있는지 확인하려고했습니다. 더 많은 뷰 컨트롤러에있는 경우 탭 표시 줄의 선택된 인덱스를 테스트하는 결과가 발생했습니다. – Michael

관련 문제