標籤:狀態列 狀態 隱藏 隱藏狀態列
1.隱藏某個頁面的狀態列
再視圖載入到視窗之前添加該方法
- (BOOL)prefersStatusBarHidden
{
return YES;//iOS7.0中隱藏狀態列
}
一、始終隱藏狀態列
如果在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啟動的那個瞬間,還是可以看到狀態列的,然後一 閃即過。雖然時間很短暫,看著還是很不舒服。為了讓狀態列從啟動的時候就隱藏起來,可以修改-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; } }
隱藏狀態列