2013-10-08 3 views
0

내 응용 프로그램의 단일보기가 iOS7에서 탐색 모음을 채우는 것을 거부합니다. 바를 끌 때 스크롤 가능한 컨트롤이 그 아래에 뜨기 때문에 막대가 표시되고 표시되고 투명 해지는 것을 볼 수 있습니다. 문제는 간단히 컨트롤을 self.navigationItem.leftBarButtonItem/self.navigationItem.rightBarButtonItem에 추가 할 때, 뷰 제목 (ViewController에서)을 self.title = @"Title";으로 지정하면 탐색 영역에 표시되지 않습니다.탐색 모음이 채워지지 않음 - iOS7

이상한 것은 내가 self.navigationController.navigationBar.topItem.title = @"Title"으로 설정하면 탐색 모음의보기에 제목을 렌더링합니다 (그러나 앱의 다른 곳에서 탐색 할 때 문제가 발생하므로 해결책이 아닙니다). 표현 "(self.navigationController.navigationBar.topItem != self.navigationItem)"은 true를 평가하며 이것이 어떻게 될 수 있는지 이해하지 못합니다.

위에 표시된 문으로 탐색 컨트롤을 올바르게 렌더링하는 다른보기가 응용 프로그램에 있습니다.

이 응용 프로그램은 iOS6.1에서 예상대로 작동합니다. 나는 iPhone dev에 매우 익숙하다. 그래서 쉽게 놓칠 수있다. 내가 확인할 수있는 것에 대한 제안은 인정 될 것이다.

+0

당신이 탐색 컨트롤러 스택에 뷰 컨트롤러를 밀어합니까? –

+0

아마도 이미 읽었던 코드가 이미 잘못되었습니다. self.navigationController.viewControllers = [NSArray arrayWithObject : self.myViewController]; --- [self.navigationController로 업데이트 함. pushViewController : self.vehicleListViewController animated : YES]; 그것의 훨씬 더 나은 일을하는 것처럼 보입니다. –

+0

'setViewControllers : animated :'또는 property setter를 사용하는 대신 뷰 컨트롤러를 실제로 푸시하면이 문제가 해결됩니까? 그렇다면, 나는 그것이 애플에게보고되어야하는 버그라고 생각할 것이다. –

답변

0

해결되었습니다. 보기 컨트롤러를 탐색 컨트롤러로 밀어 넣는 잘못된 방법을 사용하고있었습니다. 대신

self.navigationController.viewControllers = [NSArray arrayWithObject:self.myViewController]; 

사용하여 다음과 같은

[self.navigationController pushViewController:self.vehicleListViewController animated:YES]; 
관련 문제