iOS彻底隐藏app状态栏StatusBar的方法汇总
方法一: 整个app中隐藏 1.首先工程的.plist文件中View controller-based status bar appearance这一栏必须设置为YES 2.再修改以下代码
//For Objective-C: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [application setStatusBarHidden:YES]; return YES; } //For Swift: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool { application.statusBarHidden = true return true }
方法二: 在单个视图隐藏: 1.首先工程的.plist文件中View controller-based status bar appearance这一栏设置为NO; Status bar is initially hidden设置为YES。 2.再添加以下代码
//For Objective-C: - (BOOL)prefersStatusBarHidden { return YES; } //For Swift: override func prefersStatusBarHidden() -> Bool { return true } 方法三: 在某一特定方法隐藏: 1.首先工程的.plist文件中View controller-based status bar appearance这一栏必须设置为YES 2.再添加以下代码: //For Objective-C: - (void)HideStataBar{ if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { //调用隐藏方法 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; } } //实现隐藏方法 - (BOOL)prefersStatusBarHidden{ return hidestatusbar; } //其中hidestatusbar为BOOL型YES或NO,可以在调用方法前自定义。 //For Swift: func hideStataBar() { if responds(to: #selector(self.setNeedsStatusBarAppearanceUpdate)) { //调用隐藏方法 prefersStatusBarHidden perform(#selector(self.setNeedsStatusBarAppearanceUpdate)) } } //实现隐藏方法 var prefersStatusBarHidden: Bool { return hidestatusbar }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 //method 1:
//Hidden in the whole app:
//Firstly, View controller-based status bar appearance in the .plist file must be set to YES.
//If you want status bar to be hidden in the whole app:
//For Objective-C:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarHidden:YES];
return YES;
}
//For Swift:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
application.statusBarHidden = true
return true
}
//method 2:
//Hidden in Specify View Controller
//If you want status bar is disappeared in Specify View Controller, in .m file, just implement:
//For Objective-C:
- (BOOL)prefersStatusBarHidden {
return YES;
}
//For Swift:
override func prefersStatusBarHidden() -> Bool {
return true
}
//method 3:
//Hidden in Specify method:
//Firstly, View controller-based status bar appearance in the .plist file must be set to YES.
//2.add the below code:
//For Objective-C:
- (void)HideStataBar{
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
//Call the Hidden Method
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
}
//Implement Hidden Method
- (BOOL)prefersStatusBarHidden{
return hidestatusbar;
}
//the hidestatusbar is a BOOL type YES or NO,you can customize it before you call the Hidden method.
For Swift:
func hideStataBar() {
if responds(to: #selector(self.setNeedsStatusBarAppearanceUpdate)) {
//Call the Hidden Method
prefersStatusBarHidden
perform(#selector(self.setNeedsStatusBarAppearanceUpdate))
}
}
//Implement Hidden Method
var prefersStatusBarHidden: Bool {
return hidestatusbar
}
嗨、骚年、快来消灭0回复。