iPhone開發之隱藏系統狀態欄


一、始終隱藏狀態欄

如果在App中需要狀態欄一直是隱藏着的,可以在<YOUR_APP>AppDelegate的application:didFinishLaunchingWithOptions:函數中進行設置,比如下面這段示意代碼可以讓狀態欄以淡出的方式隱藏起來:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];

    // Add the view controller's view to the window and display.
    [self.window addSubview:viewController.view];
    [self.window makeKeyAndVisible];

    return YES;
}

二、APP啟動時隱藏狀態欄

用了上面的方法之后,App在運行過程中,狀態欄確實被隱藏起來了,但是我發現在App啟動的那個瞬間,還是可以看到狀態欄的,然后一閃即過。雖然時間很短暫,看着還是很不舒服。為了讓狀態欄從啟動的時候就隱藏起來,可以修改<YOUR_APP>-Info.plist。如果在Xcode中修改,在根結點Infomation Property List下面新加一項“Status bar is initially hidden”(不用手動輸入,可以直接在下拉菜單中選取)。這是個BOOL類型的鍵值,將Value欄中的復選框勾選上即可。

 

 

 

 

三、在運行程序過程中隱藏狀態欄

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

 

 

實例:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    flag = 0;
    
    UIView *view = [[UIControl alloc]init];
    view.backgroundColor = [UIColor redColor];
    [(UIControl *)view addTarget:self action:@selector(touchpicture:) forControlEvents:UIControlEventTouchUpInside];
    
    [view setFrame:CGRectMake(0, 0, 320, 480)];
    [self.view addSubview:view];

}
-(void)touchpicture:(UIView *)sender{
    
    if (flag == 0) {
      [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
        flag = 1;
    }else {
        [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
        flag = 0;
    }
     
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM