我刚刚将iPhone 5 iOS 7升级到四个测试版.现在当我在这款iPhone上从Xcode 5运行我的应用程序时,状态栏不会隐藏,即使它应该.
不工作:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Run Code Online (Sandbox Code Playgroud)
不工作:
[UIApplication sharedApplication].statusBarHidden = YES;
Run Code Online (Sandbox Code Playgroud)
无法登录Apple Developer论坛
我想删除屏幕顶部的状态栏.
这不起作用:
func application
(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?)
-> Bool
{
application.statusBarHidden = true
return true
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
func application
(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?)
-> Bool
{
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
var controller = UIViewController()
application.statusBarHidden = true
controller.setNeedsStatusBarAppearanceUpdate()
var view = UIView(frame: CGRectMake(0, 0, 320, 568))
view.backgroundColor = UIColor.redColor()
controller.view = view
var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.center = CGPointMake(160, 284)
label.textAlignment = NSTextAlignment.Center
label.text = "Hello World"
controller.view.addSubview(label)
self.window!.rootViewController = controller
self.window!.makeKeyAndVisible()
return …Run Code Online (Sandbox Code Playgroud) 我想在某些控制器上显示和隐藏状态栏.可以这样做,还是更多的整体应用程序设置.
我看过很多有关plist更新的帖子/问题:
View controller-based status bar appearance - NO
Run Code Online (Sandbox Code Playgroud)
如果完成,那么给出什么控制?
我希望在应用程序的主屏幕上显示状态栏.但是例如在侧面(幻灯片)菜单上我希望它不显示,这可能吗?可以在IB或代码中更改吗?
编辑 - 我正在使用https://github.com/edgecase/ECSlidingViewController实现.
主控制器(显示第一页)应显示状态栏,但左侧菜单控制器不应显示.
我认为问题在于它们都位于同一个根控制器(滑动视图控制器)内,因此很难完成.
理想情况下,如果主屏幕(主页面)可以使用状态栏,当它滑动时看起来最好.
在我以模态方式呈现的ViewController中,我这样做了:
override func prefersStatusBarHidden() -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
这曾经工作,但它不再有效.仅为此视图控制器隐藏状态栏的最佳方法是什么?
考虑一个视图控制器,当单击按钮时需要滑出(或隐藏)状态栏.
- (void) buttonClick:(id)sender
{
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationSlide];
}
Run Code Online (Sandbox Code Playgroud)
上面有效地隐藏了状态栏,但没有适当调整根视图的大小,在顶部留下20像素的间隙.
我期望的是根视图扩展到以前状态栏使用的空间(动画,持续时间与状态栏动画相同).
这样做的正确方法是什么?
(我知道有很多类似的问题,但我找不到任何关于按需隐藏状态栏而不是隐藏它以显示新的视图控制器)
显然,以下作品......
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationSlide];
[UIView animateWithDuration:0.25 animations:^{
CGRect frame = self.view.frame;
frame.origin.y -= 20;
frame.size.height += 20;
self.view.frame = frame;
}];
Run Code Online (Sandbox Code Playgroud)
......但有缺点:
UIViewAutoresizingFlexibleTopMargin和UIViewAutoresizingFlexibleHeight.[self.view setNeedsLayout]隐藏状态栏后调用.[self.view setNeedsDisplay]隐藏状态栏后调用.wantsFullScreenLayout为YES隐藏状态栏之前和之后.你如何隐藏ios 9中的状态栏?
现在已弃用:
[UIApplication sharedApplication] setStatusBarHidden:YES];
Run Code Online (Sandbox Code Playgroud) 假设用户在View Controller中并且想要进入"全屏"类型模式,其中状态栏被隐藏,在iOS 6下,这是一个简单的方法调用来隐藏/显示状态栏,但无论它看起来如何在iOS 7下坚持下去.
我见过这样的解决方案:
- (BOOL)prefersStatusBarHidden {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
但是这不允许它在运行时切换.(它不接受任何论点.)
在我的info.plist中,我已经View controller-based status bar appearance设置为NO.
我的智慧结束了.我怎么隐藏它?
我试图在我的一个UIViewControllers(Swift 4)中隐藏状态栏.
首先,我设置基于控制器的视图状态栏的外观到是在Info.plist.
我prefersStatusBarHidden在我的控制器中覆盖了该属性:
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
viewDidLoad(),我添加setNeedsStatusBarAppearanceUpdate()了强制prefersStatusBarHidden读取属性的函数.毕竟,我仍然看到状态栏UIViewController.
有谁可以帮助我吗?
您好我已尝试以下但无法从我的应用程序中删除状态栏:
所有这些都曾经在我之前做过的100个应用程序中运行良好,但我最近进行了xcode升级.
有没有其他秘密方式摆脱应用程序中的状态栏?我是否需要前往Apple总部并杀死一条红龙?
我想在我的应用程序中使用白色状态栏.为此,我设置View controller-based status bar appearance到NO和Status bar style到UIStatusBarStyleLightContent.但现在我需要在某些视图控制器中隐藏状态栏.要隐藏它,我必须设置View controller-based status bar appearance到YES,并添加- (BOOL)prefersStatusBarHidden {return YES;}.但状态栏现在是黑色的.它是黑色的,如果View controller-based status bar appearance是YES白色的话NO.那么问题是,如何设置白色状态栏并隐藏它?
UPD:VC中的代码我想要有白色状态栏(prefferdSTatusBarStyle未调用)
VC中的代码,隐藏状态栏
.plist设置
结果是黑色状态栏,隐藏在某个VC中
UPD2:
我知道使用弃用的方法很糟糕,但[[UIApplication sharedApplication] setStatusBarHidden:YES];一切都按照我的意愿运行.如果有人有更好的解决方案,请告诉我.
我已经阅读了这个问题,但不仅是这个问题,还没有找到解决我问题的方法:
我实际上发生的是,我隐藏了状态栏的内容,但没有隐藏状态栏本身:
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
它一直显示在屏幕顶部,非常透明,根本没有内容。
如果我想隐藏单个视图控制器子类的状态栏,那么我这样做:
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
但是如果我想在所有视图控制器子类中默认隐藏状态栏怎么办?在项目设置中选中"隐藏状态栏"不会执行任何操作.
我正在尝试编程UIPageViewController包含许多连接到它的视图控制器.不必将它们全部子类化就好了.
ios ×11
statusbar ×5
swift ×5
ios7 ×4
objective-c ×4
xcode ×4
iphone ×3
uistatusbar ×3
ios10 ×1
sprite-kit ×1
status ×1
swift3 ×1
swift4 ×1