기본 배경 이미지와 배경색이 다른 사용자 지정 UINavigationBar가 있습니다. 정상적으로 표시되지만 앱간에 앞뒤로 이동하자 마자 탐색 표시 줄의 배경 이미지와 버튼이 위로 올라갑니다.앱이 활성화되면 UINavigationBar가 위로 올라갑니다.
UINavigationBar는 펜촉에서 만든 이미지를 추가 할 기본 구현을 재정의하는 사용자 정의 클래스가된다 막대가 제대로 표시되지 않는이 시점에서
@implementation MyUINavigationBar
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"nav.png"];
rect.size.height = 60;
[image drawInRect:rect];
}
@end
합니다. 내 응용 프로그램 위임의 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
에서이 코드와 함께이 문제를 해결 : 이제 모든 것이 제대로 나타
self.navigationController.view.frame = CGRectMake(0, 20, 320, 460);
self.navigationController.navigationBar.frame = CGRectMake(0, 0, 320, 60);
. 다른 앱으로 전환하고 다시 돌아 가면 프레임이 적용되지 않은 것처럼 막대가 위로 이동합니다. 이 문제는 앱으로 다시 전환 한 직후에 발생합니다.
아래에는 두 개의 스크린 샷이 나와 있습니다. 첫 번째 버전은 올바른 버전을 표시하고 다른 버전은 잘못된 버전을 표시합니다.
어떤 일이 벌어 질지 궁금하십니까? viewWillAppear 및 활성 뷰의 viewDidAppear 또는 app delegate의 applicationDidBecomeActive에 새 프레임을 적용 해봤지만 도움이되지 않았습니다.
https://skitch.com/instromaniac/rtagr/ios-simulator https://skitch.com/instromaniac/rtaf9/view-not-ok
난 그냥이 같은 유사한 문제가 있습니다. 그것은 나를 좌절시킵니다. 대답을 찾으면 알려 드리겠습니다. 내 질문 : http://stackoverflow.com/questions/6361354/uinavigationbar-with-custom-background-shifted-to-the-top-covered-by-the-status-b –