iOS6에 나타난 것처럼 보이는 탐색 표시 줄 위치 지정 문제가 있습니다.
그것은이 앱은 시작 화면이 일부보기상태 표시 줄을 추가 한 후 탐색 막대의 위치가 변경되지 않습니다.
를 회전 할 때 일부 사용자가 경험하고있는 proplem와 유사한 여러 가지 방법으로 역할에 viewDidLoad
에
다음 (Hide statusbar during application launch
True
로 설정하여 달성) 전체 화면 표시 내
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
이것은 응용 프로그램의 상태 표시를 추가하고, 예상대로 아래 20pt를보기를 이동 : 마스터 뷰 컨트롤러는 다음 행은 다시 응용 프로그램에 상태 표시 줄을 추가합니다. 그러나 NavigationBar는 상태 표시 줄 아래에 20pt 글리치가있는 채로 있습니다.
는 iOS6의 전에 나는 다음 코드 줄을 추가하여이 문제를 해결하는 데 사용 : 이제[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, [[UIScreen mainScreen] bounds].size.height-20);
그러나이 작동하지 않습니다.
일부 연구에 따르면 viewDidLoad
을 호출 할 때 크기와 출처가 모두 {0,0}이며의 크기와 원점은 모두 변경되지 않으며 변경 사항이 적용되지 않는다는 것을 보여줍니다.
위의 두 줄을 viewDidAppear
에 삽입하면 응용 프로그램이 시작될 때와 동일한 동작이 발생합니다. 그러나 다른보기로 이동하여 첫 번째보기로 돌아 가면 keyWindow.frame
의 변경이 원하는 효과를 가져오고 NavigationBar가 있어야만 위치에 배치됩니다.
다음 내 질문 : NavigationBar를 만들려면 StatusBar가 처음에 숨겨 졌을 때 StatusBar를 iOS-app에 추가 한 후 올바른 위치에 있어야합니다.
시도했습니다. 모든보기에 새임 효과 [Will | Did] [Appear | Load] 방법. – mariusnn
이상한, 정확히 같은 문제와 [[UIApplication sharedApplication] setStatusBarHidden : 예 withAnimation : UIStatusBarAnimationSlide]가 작동했지만 viewWillAppear에서만 발생했습니다 – elk
알 수 있습니다. 이것은 내가 어리석은/피곤한 다시입니다. 'setStatusBarHidden : NO'가 여전히'wiewDidLoad' 메쏘드에 있었기 때문에 후속 호출은 다른 방식으로 행동했습니다.내가 작업 한 유일한 장소는'viewDidAppear'와 두 호출 모두였습니다 (뷰의 프레임은 statusBar를 호출 할 때 조정되지 않았고 마지막 호출에서 반응이있었습니다 (' viewDidAppear') – mariusnn