2011-10-28 4 views
1

iOS 5 업그레이드 이후 UINavigationController에서 제공하는 뒤로 버튼 누락에 대한 간헐적 인보고가있었습니다.UINavigationController 때때로 iOS5에서 뒤로 버튼이 누락되었습니다.

이 앱은 앱 스토어에서 1 년 이상 생방송이므로 here, here 또는 here과 같은 조언을 통해이 문제가 해결되는 것 같지 않습니다.

이 문제를 보여주는 스크린 샷을 첨부했습니다. 불행히도 시뮬레이터 나 장치에서 다시 테스트 할 수는 없었지만 지금까지 사용자와 관련하여 여러 가지 보고서를 작성했습니다.

missing back button

다른 사람이 발견 및/또는 성공적으로 iOS5를이 문제를 해결 했습니까?

감사합니다.

+0

UINavigationController를 어떻게 작성하고 있습니까? XIB 파일을 통해 또는 initWithRootViewController를 통해 프로그래밍 방식으로 인스턴스화 하시겠습니까? –

+0

나는 Three20을 사용하므로 TTNavigator 클래스는 4 개의 UINavigationController와 사용자 정의 된 TabBar가 포함 된 UIViewController를 인스턴스화합니다. XIB는 코드의 어느 곳에서도 사용되지 않습니다. – esilver

답변

4

나는 적어도이 경우에이 문제의 원인을 밝혀냈다 고 생각합니다. 에서 iOS 5의 사용자가 알림을 클릭하면,이 콜백 호출 할 것이다 :

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

이 방법은 실제로 우리가 최근에 도입 된 새로운 동작이었다 UINavigationController가,에보기를 밀어 것입니다. 응용 프로그램이 이전에 실행 중이면 제대로 작동합니다. 응용 프로그램이 이전에 실행 중이 아닌 경우, 모든 것이 초기화되기 전에 탐색 컨트롤에보기를 조기에 밀어 넣습니다.


이와 별도로이 버그의 원인이되었습니다. 이전 뷰의 제목을 빈 문자열 @ ""로 설정하고 nil과 혼동하지 않도록합니다.이 경우에는 뒤로 버튼이 그려지지 않았습니다. 따라서 빈 문자열에보기의 제목을 설정하지 않도록주의하십시오. 그렇지 않으면 뒤로 버튼이 표시되지 않습니다.

+0

즉, 새보기가 첫 번째보기로 푸시되므로 다시 이동할 항목이 없습니다. –

+0

또한 didReceiveRemoteNotification에 대한 간단한 google 검색을 수행했으며 스택 오버플로를 가리키는 모든 링크를 검토 한 결과 이미 같은 줄을 따라 무언가를 말하면서 몇 가지 대답이 나와있는 것 같습니다. 특히이 질문은 다음과 같습니다. http://stackoverflow.com/questions/1998196/how-do-i-tell-if-my-iphone-app-is-running-when-a-push-notification-is-received - 유망한 것으로 보입니다 –

+0

예 - 새보기가 첫 번째보기로 푸시되므로 다시 이동할 항목이 없습니다. – esilver

관련 문제