내보기를 위해 수동으로 UINavigationBar를 관리하고 있습니다. Bar 자체와 첫 번째 UINavigationItem은 Interface Builder에서 생성됩니다. 내 코드에서 다양한 이벤트를 기반으로 새로운 탐색 항목을 막대 위에 놓고 적절한보기를 기본보기의 하위보기로 그립니다. 모두 괜찮아 보이지만, navbar back 버튼을 선택하면 두 개의 아이템이 예상했던 것보다 1이 아닌 아이템 스택에서 없어집니다. ,UINavigationBar가 "뒤로"스택에서 2 개의 항목을 팝하는 것처럼 보입니다.
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item;
및
내가 바로 팝업 전에 발견- (void)navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item;
에서, 탐색 모음의 항목이 올바른지 : 테스트하기 위해, 나는 바 및 트랩이 대리자 메서드의 대리인으로 내 컨트롤러 설정 예를 들어 3입니다. 팝업 된 항목이 마지막 항목인데도 pop 다음에 항목이 1 인 두 번째 방법에서 중간 항목이 누락되었습니다. 나는 이것을 디버깅하는 방법에 대해 잘 모르겠다. 그리고 어떤 아이디어라도 감사 할 것이다.
여러 가지 이유로 탐색 컨트롤러를 사용하지 않습니다.
예, 감사 같은 경우. 아마도 뭔가가 didPopItem과 shouldPopItem을 두 번 호출하고 있다고 생각 했었습니다. 그래서 위임 메서드를 설정하여이를 트랩 할 수있었습니다. 그들은 한 번만 부름받습니다. 당시 내 viewcontroller를 확장하는 것이 내비게이션 컨트롤러를 구현하는 것보다 쉬워 보였습니다. IB가 이것을 설정하는 도구를 제공한다고 가정하면, 괜찮을 것이라고 생각했습니다. 또한 iphone dev에 상당히 익숙하며 프레임 워크 역학을 이해하고 싶습니다. 나는 지금 내 주위를 돌아 다녔고, 내 이해를 회피 한 환경을 가진 또 다른 것을이 백분율로 요약했다. – farhadf