2013-08-20 2 views
0

기본적으로 UINavigationBar의 세로 방향은 키가 크고 가로 방향은 짧아야합니다. 대부분 내 앱은 이와 같이 작동하지만 때로는 가로에서 세로로 변경하면 탐색 막대의 크기가 제대로 조정되지 않습니다. 내비게이션 막대를 올바른 높이로 강제로 다시 그리기위한 명령이 있습니까?iOS에서 세로 모드로 UINavigationBar를 높이려면 어떻게해야하나요?

이것은 사고의 스크린 샷입니다. 탐색 모음은 가로 방향에서 세로 방향으로 회전 한 후에도 짧게 유지됩니다. 막대 아래에 영원한 공백이 있으며 나머지 높이와 같습니다.

enter image description here

내 UIViewController에이 관련 방향 코드가 있습니다

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskAll; 
} 

- (BOOL)shouldAutorotate 
{ 
    return YES; 
} 
+0

당신은'-willAnimateRotationToInterfaceOrientation :'을 무시하고 수동으로 높이를 설정해 보셨습니까? (나는 이것을 시험 할 시간이 없다. 그래서 나는 대답 대신에 단지 코멘트로 올렸다.) – aopsfan

답변

-1

그것은 꽤 보면되지 않습니다,하지만 난 그냥 내가 하드 코딩하여 해결 :

이 setHeight이
self.navigationController.navigationBar.height = 44.0; 

인 경우 이름에서 알 수 있듯이 프레임의 높이를 변경하는 UIView의 범주 메서드입니다.

관련 문제