隐藏ios 9中的状态栏

cdu*_*dub 32 objective-c statusbar ios swift swift3

你如何隐藏ios 9中的状态栏?

现在已弃用:

 [UIApplication sharedApplication] setStatusBarHidden:YES];
Run Code Online (Sandbox Code Playgroud)

Anb*_*hik 81

斯威夫特-3

 override var prefersStatusBarHidden: Bool {  
    return true  
}  
Run Code Online (Sandbox Code Playgroud)

我从这里得到了信息

  • 更改funcvar

  • 删除 ()

  • 更改->:

这是因为计算变量有一个getter函数,所以你之前实现的函数只是变成了getter函数


2016年起:简单的事就像

在info.plist上为statusBar Hidden添加以下两个属性

查看基于控制器的状态栏外观(布尔值:否)

状态栏最初是隐藏的(布尔值:是)

按来源

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
Run Code Online (Sandbox Code Playgroud)

要么

在此输入图像描述


老答案!...

  1. 添加application.statusBarHiddendidFinishLaunchingWithOptions

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    application.statusBarHidden = YES;
    return YES;
    }
    
    Run Code Online (Sandbox Code Playgroud)

并添加

  1. info.plist添加本View controller-based status bar appearanceNO

    View controller-based status bar appearance = NO
    
    Run Code Online (Sandbox Code Playgroud)

viewcontroller基于隐藏集

在视图控制器中添加方法.

目标-C

- (BOOL)prefersStatusBarHidden {
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

迅速到2

override func prefersStatusBarHidden() -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)

(GOOD)2016.5.17在iOS 9.0中运行良好.

更新的答案

  1. 转到Info.plist文件
  2. 将鼠标悬停在其中一条线上,将显示一个(+)和( - )按钮.
  3. 单击加号按钮添加新密钥
  4. 键入以大写字母V开头并自动选择基于视图控制器的状态栏外观.将其添加为KEY.
  5. 将VALUE设置为"NO"
  6. 转到AppDelegate.m for Objective-C(对于swift语言:AppDelegate.swift)
  7. 在方法内添加代码

对于Objective-C:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [application setStatusBarHidden:YES];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

对于Swift:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
    application.statusBarHidden = true

    return true
}
Run Code Online (Sandbox Code Playgroud)

  • 在iOS 9中不推荐使用application.statusBarHidden (6认同)

Jam*_*mil 16

在info.plist中添加以下两个属性.

View controller-based status bar appearance (NO)

Status bar is initially hidden (YES)
Run Code Online (Sandbox Code Playgroud)


rck*_*nes 7

我知道文档setStatusBarHidden:中没有提到使用什么.但标题UIApplication确实如此.

// Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system.
@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden NS_DEPRECATED_IOS(2_0, 9_0, "Use -[UIViewController prefersStatusBarHidden]");
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_DEPRECATED_IOS(3_2, 9_0, "Use -[UIViewController prefersStatusBarHidden]");
Run Code Online (Sandbox Code Playgroud)

这里声明您应该使用prefersStatusBarHiddenon UIViewController和use视图控制器的状态栏样式.

您现在需要做的就是配置视图控制器是否需要显示隐藏状态栏.像这样:

- (BOOL)prefersStatusBarHidden {
   return YES;
}
Run Code Online (Sandbox Code Playgroud)


And*_*eev 6

以下是如何轻松返回iOS 9+Swift 3+状态栏可见性的控件:

  1. 添加View controller-based status bar appearance键与YES价值Info.plist.
  2. 将此变量添加到视图控制器:

    private var isStatusBarHidden = false {
        didSet {
            setNeedsStatusBarAppearanceUpdate()
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 覆盖prefersStatusBarHidden属性:

    override var prefersStatusBarHidden: Bool {
        return isStatusBarHidden
    }
    
    Run Code Online (Sandbox Code Playgroud)

而已.现在,您可以打电话isStatusBarHidden = trueisStatusBarHidden = false只要你想.