我想问一下自动布局和通话状态栏。 这是一个简单的场景,演示了我的问题: 使用“使用故事板”启用项目创build 添加“视图控制器”并启用其“是初始视图控制器” 将控制器视图的背景颜色设置为红色 在控制器视图中添加“表格视图” 表视图应该有4个布局约束(领先,顶部,尾部,底部)的Superview常量设置为0。 现在,当我在模拟器中运行这个应用程序,并按⌘ + T我可以看到红色的背景,而通话状态栏animation英寸是否有可能摆脱这个毛刺?
像Instagram – EXPLORE Tab,当我滚动内容时,状态栏也会移动。 总是调用FullScreenScroll ,就像这里 ,当用户滚动tableView时,NavigationBar&TabBar滚动显示或隐藏在同一时间。 我的问题是,不仅NavigationBar&TabBar,我也想使StatusBar遵循手指移动。 最后,这是真正的全屏。
我有一个侧栏菜单的应用程序,有点像Facebook侧栏菜单。 我正在使用这个名为SWRevealViewController类,它工作的很好。 现在iOS7已经出来,我只是不知道如何调整我的状态和导航栏像在Facebook应用程序。 正如你所看到的,在Facebook应用程序中,当用户滑动屏幕并打开菜单时,状态栏将通过淡入淡出animation从导航栏蓝色变为黑色。 在我的应用程序中,用户滑动屏幕以打开菜单和状态栏与蓝色(这是因为该视图NavigationBar蓝色)不会消失,并将颜色变成黑色。 此外,我有另一个问题,我只是不能将StatusBar文本颜色更改为白色。 我已经尝试了所有的东西,互联网上的所有代码,阅读所有苹果的文档,但仍然无法设法改变颜色。 我也用这个代码: – (UIStatusBarAnimation)preferredStatusBarUpdateAnimation { return UIStatusBarAnimationFade; } – (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } – (BOOL)prefersStatusBarHidden { return NO; } 提前致谢。 ================================================== ====================== 更新 :这个问题的解决scheme在@yoeriboven答案是放在SWRevealViewController与黑色和蓝色的顶部2视图,只是animation两个,这是一个很好的解决scheme,它的工作很好。 所以,在创buildrevealController时,我创build了2个空白的UIViews,并添加了它们,一个蓝色和一个黑色。 其中之一,黑色的,我现在保持隐藏。 self.revealController = [[SWRevealViewController alloc] initWithRearViewController:nil frontViewController:self.frontViewController]; self.revealController.delegate = self; self.appDelegate.window.rootViewController = self.revealController; self.statusBarBlack = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.appDelegate.window.frame.size.width, 20)]; [self.statusBarBlack setBackgroundColor:[UIColor […]
考虑一个视图控制器,当单击一个button时需要滑出(或隐藏)状态栏。 – (void) buttonClick:(id)sender { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; } 上面有效地隐藏了状态栏,但是没有适当地调整根视图的大小,在顶部留下了20个像素的间隙。 我所期望的是扩展状态栏以前使用的空间(animation,与状态栏animation持续时间相同)的根视图。 什么是这样做的正确方法? (我知道有很多类似的问题,但我找不到隐藏状态栏的需求,而不是隐藏它来显示一个新的视图控制器) “蛮力”的做法 显然,下面的作品… [[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; }]; …但有缺点: 硬编码幻灯片animation的持续时间 硬编码状态栏的高度 根查看原点保持在(0,-20)。 我喜欢我的框架尽可能从(0,0)开始。 我已经试过了 确保根视图的autoresize掩码具有UIViewAutoresizingFlexibleTopMargin和UIViewAutoresizingFlexibleHeight 。 隐藏状态栏后调用[self.view setNeedsLayout] 。 隐藏状态栏后调用[self.view setNeedsDisplay] 。 在隐藏状态栏之前和之后将wantsFullScreenLayout设置为YES 。
我显然不理解如何在iOS 6中使用状态栏的色调。我已经阅读了这个问题: 改变状态栏色调的颜色,但实施build议的解决scheme还没有解决的问题。 我已经在目标摘要窗格(样式和着色的默认设置)中configuration了设置,并将状态栏色调参数字典添加到了我的info.plist中,如WWDC 2012高级外观自定义中所述。 我的状态栏在启动时色调正确,但是一旦我导航到另一个视图控制器,状态栏就会变成黑色。 第二个视图控制器embedded在自己的导航控制器中。 这可能是问题的根源吗? 不pipe是什么原因,我希望有人可以提供一个解决scheme,使我的状态栏在整个应用程序中保持一致。 请让我知道是否有任何需要澄清,并提前感谢您的帮助。
经过一些初步testing,我们在iPhone6上的应用程序,我们看到,状态栏(也许是整个应用程序)显示放大的大小。 当我说缩放时,我指的是放大的桌面设置与标准。 该应用程序是使用旧的故事板types,而不是与大小类的新的。 我的App: 主屏幕:
我想将Light Content样式应用于整个应用程序。 以下方法在iOS 9中不推荐使用replace方法。 -setStatusBarStyle:animation: 设置状态栏的样式,可select将animation过渡到新样式。 在AppDelegate工作就像: Swift 1.2代码: UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true) 但是当我将我的项目升级到iOS 9 / Swift 2时,他们给我的警告信息是: <Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable. <Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable. <Error>: CGContextRestoreGState: invalid context […]
如何隐藏这个<以编程方式从状态栏返回到Safari? 我在我的应用程序中得到它 – 如果用户想用他们的Facebook帐户login,我会从我的应用程序出去。 这是我不喜欢(想)在我的应用程序“回到Safari”的情况。 首先启动的应用程序(和用户没有login)。 用户select使用Facebook选项login。 Facebook的iOS SDK进入了图片,它把我带到Safari。 我login并返回到应用程序 但是,有“回到Safari”…它不应该在这里了。
我想改变iOS 7上的状态栏的背景颜色,我使用这个代码: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [UIApplication sharedApplication].statusBarHidden = NO; self.window.clipsToBounds = YES; [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleLightContent]; self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20); self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height); … … } 当我写这个时,它显示黑色背景的状态栏; 我希望它有一个红色的背景。 怎样才能改变状态栏的颜色,而不是黑色的红色背景?