2012-07-07 3 views

답변

0

는 그것을 테스트하지 않은 더 좋은 방법이있을 수 있지만, 당신은 넣어 경우 귀하의로드 뷰 기능에서 다음

[self performSelector:@selector(hideNavBar) withObject:nil afterDelay:0.0]; 

하고이 기능을

-(void) hideNavBar { 
    if (self.navigationController.navigationBar.hidden == NO) 
    { 
     [self.navigationController setNavigationBarHidden:YES animated:YES]; 
    } 
} 

당신은있을 수 있습니다 보기 애니메이션 블록에서 탐색 막대를 숨 깁니다. 하지만 일부 조합이 link

3

밖으로

확인 작업을해야 당신은 UIApplication의이 setStatusBarHidden:withAnimation:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 

the docs를 참조합니다.

0

applicationDidBecommeActive ("로드 된 뷰")를 실행하면 AppDelegate에서 간단하게 수행 할 수 있습니다. 설정 숨기기에 UIView 애니메이션 블록에는 400ms 후 상태, 계산로드 뷰 (didBecomeActive) 후을의 루트 뷰 컨트롤러의 네비게이션 바

// AppDelegate.m 

#import "AppDelegate.h" 
#import "SomeViewController.h" 

@interface AppDelegate() 
@property (nonatomic, strong) SomeViewController *someViewController; 
@end 

@implementation AppDelegate 

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    UINavigationBar *navBar = self.someViewController.navigationController.navigationBar; 
    if (![[UIApplication sharedApplication] isStatusBarHidden]) { 
     [[UIApplication sharedApplication] setStatusBarHidden:YES 
               withAnimation:UIStatusBarAnimationSlide]; 
     [UIView animateWithDuration:0.4 
         animations:^{ 
          navBar.frame = CGRectMake(navBar.frame.origin.x, 0, navBar.frame.size.width, navBar.frame.size.height); 
        } completion:nil]; 
    } 
} 

@end 

는 "상태 표시 줄에 표시되고 자동 잠시 후 숨 깁니다 이 같은 (400ms 일) "당신은 당신의 프로젝트를 선택하고 헤더 일반 내부 Hide during application launch을 선택해야

0

섹션 Deployment Info :

enter image description here

그리고 세트의 Info.plist 내부에 View controller-based status bar NO :

enter image description here

관련 문제