Agg*_*sor 73 objective-c statusbar ios8
我试过了
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Run Code Online (Sandbox Code Playgroud)
这什么都不做.
我在我的Info.plist
文件中查看了"查看基于控制器的状态栏外观",但它不在那里.
如何在Xcode 6的应用程序中隐藏屏幕顶部的白色状态栏(带有时钟和电池电量)?谢谢!
Vap*_*olf 171
除非有plist条目,否则需要在每个视图控制器上覆盖此方法.
Objective-C的
-(BOOL)prefersStatusBarHidden{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特2
override func prefersStatusBarHidden() -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
Swift 3+
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
并且不要忘记设置(如果通过调用presentViewController呈现视图控制器:animated:completion:方法):
Objective-C的
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = YES;
Run Code Online (Sandbox Code Playgroud)
迅速
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = true
Run Code Online (Sandbox Code Playgroud)
文档:https://developer.apple.com/reference/uikit/uiviewcontroller/1621453-modalpresentationcapturesstatusb
如果您从某个容器视图控制器(例如,UINavigationController
或UIViewController
使用子视图控制器)更改状态栏,并且您想要更改负责状态栏的视图控制器,则应使用childViewControllerForStatusBarHidden:
属性.例如:
设置第一个视图控制器实例始终负责状态栏管理
Objective-C的
- (UIViewController *)childViewControllerForStatusBarHidden {
return childViewControllers.first; // or viewControllers.first
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特2
override var childViewControllerForStatusBarHidden() -> UIViewController? {
return childViewControllers.first // or viewControllers.first
}
Run Code Online (Sandbox Code Playgroud)
Swift 3+
override var childViewControllerForStatusBarHidden: UIViewController? {
return childViewControllers.first // or viewControllers.first
}
Run Code Online (Sandbox Code Playgroud)
设置负责状态栏管理的容器视图控制器
Objective-C的
- (UIViewController *)childViewControllerForStatusBarHidden {
return nil;
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特2
override func childViewControllerForStatusBarHidden() -> UIViewController? {
return nil
}
Run Code Online (Sandbox Code Playgroud)
Swift 3+
override var childViewControllerForStatusBarHidden: UIViewController? {
return nil
}
Run Code Online (Sandbox Code Playgroud)
文档:https: //developer.apple.com/documentation/uikit/uiviewcontroller/1621451-childviewcontrollerforstatusbarh
nyc*_*nie 120
对于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: [UIApplicationLaunchOptionsKey:Any]?) -> Bool {
application.statusBarHidden = true
return true
}
Run Code Online (Sandbox Code Playgroud)
完成!运行你的应用程序,没有更多的状态栏!
Ner*_*ken 11
您可以将该行添加到Info.plist文件中(如果不存在).只需转到Xcode中的项目,转到"信息"部分,然后将鼠标悬停在其中一个现有行上.应出现"+"按钮,允许您添加一行并输入"查看基于控制器的状态栏外观".
对于带有Swift 3的iOS 10,你应该使用:
override var prefersStatusBarHidden: Bool {
get {
return true
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
77390 次 |
最近记录: |