我刚刚将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论坛
在我看来,我有三个按钮.在viewDidLoad()中设置cornerRadus之后:button.layer.cornerRadius = 20我在日志中收到以下错误消息:
<Error>: CGContextSaveGState: invalid context 0x0.
If you want to see the backtrace, please set
CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Run Code Online (Sandbox Code Playgroud)
问题:
好的,我现在从消息中回溯了.这对我没有任何意义.一些帮助请...
Aug 7 14:27:00 <Error>: CGContextSaveGState: invalid context 0x0. Backtrace:
<-[UIStatusBarItemView updateContentsAndWidth]+33>
<-[UIStatusBarItemView initWithItem:data:actions:style:]+477>
<+[UIStatusBarItemView createViewForItem:withData:actions:foregroundStyle:]+134>
<-[UIStatusBarLayoutManager _createViewForItem:withData:actions:]+163>
<-[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:]+36
<-[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:]+92>
<-[UIStatusBarForegroundView _setStatusBarData:actions:animated:]+797>
<-[UIStatusBarForegroundView setStatusBarData:actions:animated:]+332>
<__51-[UIStatusBar _prepareToSetStyle:animation:forced:]_block_invoke+360>
<+[UIView(Animation) performWithoutAnimation:]+65>
<-[UIStatusBar _prepareToSetStyle:animation:forced:]+866>
<-[UIStatusBar _requestStyleAttributes:animationParameters:forced:]+391>
<-[UIStatusBar requestStyle:animationParameters:forced:]+437>
<-[UIStatusBar requestStyle:animated:forced:]+90>
<-[UIStatusBar _evaluateServerRegistration]+250>
<__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke+590>
<-[UIView(Hierarchy) _postMovedFromSuperview:]+544>
<-[UIView(Internal) _addSubview:positioned:relativeTo:]+1967>
<-[UIStatusBarWindow setStatusBar:]+288>
<-[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:]+340>
<-[UIApplication _runWithMainScene:transitionContext:completion:]+950>
<-[UIApplication workspaceDidEndTransaction:]+188>
<-[FBSSerialQueue …Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法来设置状态栏样式(默认或轻量级),但不能让它在每个视图控制器的基础上工作.我只能为整个应用设置状态栏样式.
有人有提示吗?
我试过了 UIViewControllerBasedStatusBarAppearance
和
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
Run Code Online (Sandbox Code Playgroud)
但这些方法不起作用.
当我启动我的应用程序时,它会显示启动图像和黑色状态栏.如何更改它以便状态栏在启动期间亮起?我已经在我的AppDelegate didFinishLoading方法中将状态栏外观设置为light,它适用于应用程序的其余部分.
你如何隐藏ios 9中的状态栏?
现在已弃用:
[UIApplication sharedApplication] setStatusBarHidden:YES];
Run Code Online (Sandbox Code Playgroud) 使用Phonegap Build 3.1时是否可以摆脱iOS7中的状态栏?我可以在Xcode中本地构建时删除状态栏,但是一旦我尝试Phonegap Build,它就会再次返回.
我不希望状态栏按下应用程序视图20px,这就是现在的情况.
我的iPhone应用程序要求始终隐藏状态栏.这通常很容易做到,如果我只在iPhone上运行应用程序,它就有效.但是,如果我在iPad上运行该应用程序,状态栏仍会显示在内容的顶部.那么,无论我的iPhone专用应用程序运行在哪个设备上,如何确保隐藏状态栏?我目前正在我的代码中执行以下操作:
为每个视图控制器调用此方法(我实际上在UIViewController上创建了一个类别,可以自动为任何VC实现此类,但它与在每个vc文件中编写它基本相同):
-(BOOL)prefersStatusBarHidden{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我还在Info.plist中将"状态栏最初隐藏"设置为YES和"查看基于控制器的状态栏外观"为NO.我也试过检测正在使用和调用的设备
[UIApplication sharedApplication]setSetStatusBarHidden:YES]
Run Code Online (Sandbox Code Playgroud)
在AppDelegate,但也没有运气.所以,我相信我已经尝试过一个人们想要尝试的一切.
就像问题所说,我需要在用户点击时隐藏状态+导航栏.到目前为止,导航栏很容易.找不到使用状态栏执行相同操作的方法.
顺便说一下,试了一下
UIApplication.sharedApplication().statusBarHidden = true
Run Code Online (Sandbox Code Playgroud)
但还没有运气
我正在构建一个iOS 9带有horizontal页面导航的应用程序,需要在某些页面上显示状态栏,并将其隐藏在其他页面上.我想使用淡入/淡出动画,所以我必须设置
View controller-based status bar appearance = NO
并像这样更新状态栏:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Run Code Online (Sandbox Code Playgroud)
在页面之间导航时,此过程非常有效,但我无法在启动时删除状态栏.
我试过设置: Status bar is initially hidden = YES
将此添加到 NavigationControllers viewDidLoad:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
self.statusBarHidden = YES;
[self setNeedsStatusBarAppearanceUpdate];
Run Code Online (Sandbox Code Playgroud)
将此添加到AppDelegates didFinishLaunchingWithOptions:
application.statusBarHidden = YES;
Run Code Online (Sandbox Code Playgroud)
将其添加到初始页面的ViewController:
- (BOOL)prefersStatusBarHidden {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
检查General-> Deployment Info中的"隐藏状态栏"选项
并在链接的storyboard元素中将"状态栏"设置为"无"
但状态栏仍然在发布时出现.如何在不改变值的情况下摆脱启动时的状态栏View controller-based status bar appearance?
ios ×7
objective-c ×4
statusbar ×4
swift ×3
ios7 ×2
cocoa-touch ×1
cordova ×1
ios8 ×1
ios9 ×1
ipad ×1
iphone ×1
swift3 ×1
uistatusbar ×1
xcode ×1